рдПрдХ рдкрд░рд┐рдЪрдп рдХреЗ рд░реВрдк рдореЗрдВ
рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреНрдпрд╛ рд╣реИрдВ рдФрд░ рдЧреЗрдорд┐рдВрдЧ (рдФрд░ рдЧреИрд░-рдЧреЗрдорд┐рдВрдЧ) рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдПрдХ рдмрд╛рд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдЦреЗрд▓ рдХреЛ рд╕рд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдлреЗрд╕рдмреБрдХ рдФрд░ рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рд╣рд░ рддрд░рд╣ рдХреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪреАрдЬреЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВред
рдЧреЗрдо рд╣рдо рдпреВрдирд┐рдЯреА 3 рдбреА рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рддреЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВред рд▓реЗрдХрд┐рди рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ c / c ++ / рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡ c / ... Ie рдореЗрдВ рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИ рдордВрдЪ рдХреА рдореВрд▓ рднрд╛рд╖рд╛ рдореЗрдВред рдореБрдЭреЗ рдпрд╣реА рдХрд░рдирд╛ рдерд╛ред рд╣рдо рдХреНрд░рдорд╢рдГ рдЖрдИрдкреИрдб, рдЖрдИрдУрдПрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдиреАрдЪреЗ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдореИрдВрдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдФрд░ рдХреИрд╕реЗ рдХрд┐рдпрд╛, рдореИрдВ рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ рдФрд░ рд╕рдореНрдорд╛рдирд┐рдд рд╣реИрдмрд░рд╕рд┐рдЯреА рд╕реЗ рдХреБрдЫ рд╕рд╡рд╛рд▓ рдкреВрдЫреВрдВрдЧрд╛ред
рдореИрдВ рдЕрднреА рд╕реНрдкрд╖реНрдЯ рдХрд░ рджреВрдВрдЧрд╛ рдХрд┐ рдкреНрд▓рдЧрдЗрди рдЕрднреА рддрдХ рдЕрдВрдд рддрдХ рдбрд┐рдмрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ! рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдХреБрдЫ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдмрд╛рдХреА рд╣реИред
рдХреНрдпрд╛ рдмрд╛рдЗрдХ рдмрдирд╛рдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИ?
рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд▓рдЧрдЗрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:
- рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рддрд╛рд░реНрдХрд┐рдХ рдПрдХ рдЦрд░реАрджрдирд╛ рд╣реИ! рд╣рд╛рдВ, рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рдЬреЛ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдорд╛рдЗрдирд╕ Apple рдпрд╛ рд╕рд╛рдорд╛рдЬрд┐рдХ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╣реИред рдиреЗрдЯрд╡рд░реНрдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдкрдиреЗ рдПрдкреАрдЖрдИ / рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдПрдХ рддрдереНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкреНрд▓рдЧ-рдЗрди рдбреЗрд╡рд▓рдкрд░ рддреБрд░рдВрдд рдЗрд╕рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдЧрд╛ред
- IOS рдХреЗ рд▓рд┐рдП Facebook SDK рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ ред рдХреЙрдорд░реЗрдб рдЬреБрдХрд░рдмрд░реНрдЧ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рдерд┐рдпреЛрдВ рдиреЗ рдЕрдкрдиреЗ рдПрд╕рдбреАрдХреЗ рдХреЛ рджреЗрд╢реА рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рд╣реИ, рдЬреИрд╕реЗ рдЧреБрдИ рдЖрджрд┐ред рд▓рдЧрддрд╛ рд╣реИ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред
- рдЖрдк рдпрд╣рд╛рдБ рд╕реЗ
WebView
рдФрд░ Client-side/Server-side
рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди HTML5
рд▓реЗрдХрд┐рди рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдЬреЛ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ред IOS 6 рдореЗрдВ Apple рдиреЗ рдлреЗрд╕рдмреБрдХ рдХреЗ рд╕рд╛рде рд╕рдЦреНрдд рдПрдХреАрдХрд░рдг рдХрд┐рдпрд╛ред рдЗрддрдирд╛ рдХрд░реАрдм рдХрд┐ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдЙрд╕реА рдирд╛рдо рдХрд╛ рдПрдХ рдЖрдЗрдЯрдо рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо / рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд╕рд╛рдорд╛рдЬрд┐рдХ рд░реВрдк рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдиреЗрдЯрд╡рд░реНрдХред рдЯреНрд╡рд┐рдЯрд░ рдХреЗ рд▓рд┐рдП рднреА рдпрд╣реА рдЕрд╡рд╕рд░ рдореМрдЬреВрдж рд╣реИред рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдЯреНрд╡рд┐рдЯрд░ iOS рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред
рдЗрди рдЦрд╛рддреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Apple рдХрд╛рдлреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдлреНрд░реЗрдорд╡рд░реНрдХ
Accounts
,
Social
рдФрд░
Twitter
рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдкрд╣рд▓реЗ рдПрдХ -
Accounts
- рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЦрд╛рддреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ / рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ - рд╣рдо рдПрдХ рдмрд╛рд░ рд╕реЛрд╢рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдЦрд╛рддреЗ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо / рдкрд╛рд╕рд╡рд░реНрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рд╕рднреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рд╣реИрдВ, рд╣рд░ рдмрд╛рд░ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ред рджреВрд╕рд░рд╛ -
Social
- рд╕рд╛рдорд╛рдЬрд┐рдХ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдЙрдирдХреА (рдиреЗрдЯрд╡рд░реНрдХ) рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдиреЗрдЯрд╡рд░реНрдХред рдЦреИрд░, рддреАрд╕рд░рд╛ -
Twitter
- рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рд╡рд┐рд╖рдп рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣рд╛рдВ рдореИрдВ рдХреЗрд╡рд▓ рдлреЗрд╕рдмреБрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВред
рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЗ рд╢реАрд░реНрд╖рдХ рдореЗрдВ рдкреВрдЫреЗ рдЧрдП рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрддреЗ рд╣реБрдП, рдореИрдВ рдХрд╣реВрдВрдЧрд╛: рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╕реЛрдЪрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╕рд╛рдЗрдХрд┐рд▓ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рдерд╛ рдФрд░ рдЗрд╕реЗ рдЦрд░реАрджрдирд╛ рдЖрд╕рд╛рди рдерд╛, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЦрд╛рд▓реА рд╕рдордп рдерд╛ рдФрд░ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдкреНрд▓рдЧ-рдЗрди рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреБрднрд╡ рдХрд┐рд╕реА рдХреЛ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рдереЗред
Unity3d рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рджреНрдзрд╛рдВрдд
рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ - рд╣рдо рдкреНрд▓рдЧ-рдЗрди
Assets/Plugins/iOS
рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХреНрд╕рдХреЛрдб-рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЕрдЧрд▓реА рдкреАрдврд╝реА рдореЗрдВ рдЗрдВрдЬрди рджреНрд╡рд╛рд░рд╛ рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд▓рдЧрдЗрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
- рд╕рдВрдХрд▓рд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп - * .a
- рд╕реНрд░реЛрдд рдХреЛрдб - * .m, * .mm, * .cpp, * .c рдареАрдХ рд╣реИ, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, * .h рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣рд╛рдВ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ)
C ++ рдпрд╛ Objective-C рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдирд┐рд░реНрдпрд╛рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ C рд╢реИрд▓реА рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдорддрднреЗрджреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рдФрд░ рдПрдХ рдФрд░ рдзреНрдпрд╛рди рджреЗрдВ - рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреЗрд╡рд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рд╕рд┐рдореБрд▓реЗрдЯрд░ рдореЗрдВ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рд╕рднреА рдЖрдпрд╛рддрд┐рдд (рдкреНрд▓рдЧрдЗрди рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ) рдлрд╝рдВрдХреНрд╢рди рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ C # рдХреЛрдб рдореЗрдВ рд▓рд┐рдкрдЯреЗ рд░рд╣реЗрдВ рдЬреЛ рдЪреЗрдХ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪрд╛рд▓реВ рд╣реИред ред
рд╡рд╣ рд╕рдм рд╣реИред
рдлреЗрд╕рдмреБрдХ рдРрдк рд╕реЗрдЯрдЕрдк
рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдлреЗрд╕рдмреБрдХ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк "рд░рд╣рд╕реНрдпрдордп" рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмрд╣реБрдд рдХреАрдбрд╝реЗ рдирд╣реАрдВред
рдпрд╣рд╛рдБ рдореЗрд░реА рдЯреНрдпреВрдирд┐рдВрдЧ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рд╣реИрдВ:
- рдПрдкреНрд▓рд┐рдХреЗрд╢рди
Native iOS App
рдХреЗ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдпрд╣ рджреЛ рдкреГрд╖реНрдареЛрдВ рдкрд░ рд╣реЛрддрд╛ рд╣реИ: рд╕реЗрдЯрд┐рдВрдЧреНрд╕ - рдмреЗрд╕рд┐рдХ, рдЬрд╣рд╛рдВ рд╡реЗ рдкреВрдЫрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлреЗрд╕рдмреБрдХ рдореЗрдВ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ - рдЙрдиреНрдирддред рдпрд╣рд╛рдВ рд╣рдо Authentification
рдЕрдиреБрднрд╛рдЧ, App type
-> Native/Desktop
рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред Bundle ID
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдПрдХ рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред- рд╕реЗрдЯрд┐рдВрдЧреНрд╕ - рдПрдбрд╡рд╛рдВрд╕реНрдб:
App Secret in Client
рдкреИрд░рд╛рдореАрдЯрд░ App Secret in Client
рдХреЛ рдХреЛрдИ рдирд╣реАрдВ рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ - рд╕реЗрдЯрд┐рдВрдЧреНрд╕ - рдореВрд▓:
Facebook Login
- рд╕рдХреНрд╖рдо
рдкреНрд▓рдЧрдЗрди рдСрдкрд░реЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо
рджрд░рдЕрд╕рд▓, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ - рд╣рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдПрдХ рдЦрд╛рддрд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред рдиреЗрдЯрд╡рд░реНрдХ, рдкреНрд░рдХрд╛рд╢рд┐рддред рдФрд░ рдЕрдм рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ, рдЖрдИрдУрдПрд╕ рдПрд╕рдбреАрдХреЗ рдореЗрдВ рдПрдХ
Accounts
рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ рдЬреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рди рдХреЗрд╡рд▓ рдЙрдирдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧ рд╣рдореЗрдВ рд░реБрдЪрд┐ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ
ACAccountStore
рд╡рд░реНрдЧ рдХреА рдПрдХ рд╡рд╕реНрддреБ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдЦрд╛рддреЛрдВ рдХрд╛ рднрдВрдбрд╛рд░ рд╣реИред рддрдм рд╣рдореЗрдВ рдХреНрд▓рд╛рд╕
ACAccountType
рдХреА рдПрдХ рд╡рд╕реНрддреБ
ACAccountType
, рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рд╣рд┐рдд рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рднреА рдЦрд╛рддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдЧреАред
рддреАрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЦрд╛рддреЗ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ:
ACAccountTypeIdentifierFacebook
- рдлреЗрд╕рдмреБрдХ рдЕрдХрд╛рдЙрдВрдЯACAccountTypeIdentifierTwitter
- Twitter рдЦрд╛рддреЗACAccountTypeIdentifierSinaWeibo
- рдФрд░ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП, рдЪреАрди рдХреЗ рд╕рд╛рдорд╛рдЬрд┐рдХ рдХреЗ рдкреНрд░рддрд┐ рдЙрджрд╛рд╕реАрди рд╣реИред рдиреЗрдЯ
рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЦрд╛рддреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░реА рд░реБрдЪрд┐ рд╣реИред рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдкреНрд░рддреНрдпреЗрдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдПрдХ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИрдВред
рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЦрд╛рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдмрд╢рд░реНрддреЗ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд┐ рдРрд╕реЗ рдЦрд╛рддреЗ рдореМрдЬреВрдж рд╣реЛрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рд╣рдорд╛рд░реА рд╕рднреА рд╡рд┐рд╢рд▓рд┐рд╕реНрдЯ рдХреЛ рдЕрдиреБрдорддрд┐ рджреА рд╣реЛ) рдФрд░ рдЬреЛ рднреА рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕рдХреЗ рд╕рд╛рде рдмрдирд╛рдПрдВред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рдФрд░ рдЖрджрд┐рдо рд╣реИред рд▓реЗрдХрд┐рди рдирд╣реАрдВ, рдлреЗрд╕рдмреБрдХ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд╣реАрдВред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдИрдУрдПрд╕ рдПрд╕рдбреАрдХреЗ рдХреЗ рд▓рд┐рдП рдлреЗрд╕рдмреБрдХ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рд╣рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рди рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдЗрд╕рд▓рд┐рдП рдХрд┐ рд╣рдореЗрдВ рд╣рд░ рдмрд╛рд░ рдЕрд▓рд░реНрдЯ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╣рдореЗрдВ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЕрдиреБрдорддрд┐ рдЕрдиреБрд░реЛрдз рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрджрд┐рдо рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЬрд╛рдирдХрд╛рд░реА рддрдХ рдкрд╣реБрдВрдЪ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдИрдореЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд╕рдВрдпреЛрдЧ рд╕реЗ, рдпрд╣ рдореБрдЭреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдореИрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рджреЛрд╕реНрддреЛрдВ рдХреА рд╕реВрдЪреА рддрдХ рдкрд╣реБрдВрдЪ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд░рд╣рд╛ рдерд╛ред
- рддрдм (рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ), рдЖрдкрдХреЛ рдЯреЗрдк рдкрдврд╝рдиреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд░реАрдб_рд╕реНрдЯреНрд░реАрдо рдФрд░ рдЯреНрд░рд┐рдХ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдкрдврд╝рдиреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рд╕реЗ рдкрд╣рд▓реЗ, рдФрд░ рдкрдврд╝рдиреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рдХреЗ рдмрд┐рдирд╛ (рдФрд░ рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рдЕрдзрд┐рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдмрд┐рдирд╛ рд░реАрдб рд░рд╛рдЗрдЯреНрд╕ рдкреВрдЫреЗ) рдорд╛рдВрдЧ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдПрдХ рд╣реА рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдФрд░ рдкрдврд╝рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
- рдареАрдХ рд╣реИ, рдЕрдм рдЖрдк рдЙрди рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рд╣рдо рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ - publish_stream
рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдЕрдзрд┐рдХрд╛рд░реЛрдВ / рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдпрд╣рд╛рдБ рдкрдврд╝реЗрдВред
рдпрджрд┐ рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдРрд╕реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкрдХрдбрд╝реА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ:
- рдлреЗрд╕рдмреБрдХ рд╕рд░реНрд╡рд░ рдЗрд╕ рдкрд╣реБрдВрдЪ рдЕрдиреБрд░реЛрдз рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛: Remote_app_id рд╕рдВрдЧреНрд░рд╣реАрдд рдЖрдИрдбреА рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ред
- рдлреЗрд╕рдмреБрдХ рд╕рд░реНрд╡рд░ рдЗрд╕ рдкрд╣реБрдВрдЪ рдЕрдиреБрд░реЛрдз рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛: рдЖрд╡реЗрджрди рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрд╛ред
- рдФрд░ рджреВрд╕рд░реЛрдВ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рдЭреБрдВрдб
рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ Stackoverflow рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИред рд╡рд╣рд╛рдБ, рд▓реЛрдЧ рдРрд╕реА рдХрдИ рдЧрд▓рддрд┐рдпрд╛рдБ рдХрд░рддреЗ рд╣реИрдВ!
рддреЛ, рдореБрдЭреЗ рдЗрд╕ рдХреЛрдб рдХреА рддрд░рд╣ рдХреБрдЫ рдорд┐рд▓рд╛ (рдореЗрдореЛрд░реА рд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рдЕрдм рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдирд╣реАрдВ рд╣реИ):
ACAccountStore *store = [[ACAccountStore alloc] init]; ACAccountType *fb_account_type = [store accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook]; NSDictionary *dict = @{ACFacebookAppIdKey : fb_appid, ACFacebookPermissionsKey : @[@"email"], ACFacebookAudienceKey : ACFacebookAudienceEveryone}; [store requestAccessToAccountsWithType:fb_account_type options:dict completion:^(BOOL granted, NSError *error) { if (granted && error == nil) { ACAccountType *fb_account_type = [store accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook]; NSDictionary *dict = @{ACFacebookAppIdKey : fb_appid, ACFacebookPermissionsKey : @[@"read_permission"], ACFacebookAudienceKey : ACFacebookAudienceEveryone}; [store requestAccessToAccountsWithType:fb_account_type options:dict completion:^(BOOL granted, NSError *error) { if (granted && error == nil) { ACAccountType *fb_account_type = [store accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook]; NSDictionary *dict = @{ACFacebookAppIdKey : fb_appid, ACFacebookPermissionsKey : @[@"public_permission"], ACFacebookAudienceKey : ACFacebookAudienceEveryone}; [store requestAccessToAccountsWithType:fb_account_type options:dict completion:^(BOOL granted, NSError *error) { if (granted && error == nil) {
рдореИрдВ рд╕рд╣рдордд рд╣реВрдБ, рдпрд╣ рдбрд░рд╛рд╡рдирд╛ рд▓рдЧрддрд╛ рд╣реИ!
рдмрд╕ рд▓рдЧрд╛рддрд╛рд░ рдФрд░ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдП рдЧрдП
fb_account_type
рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░реЗрдВ:
dict
ред рдпрджрд┐ рдЖрдк рдмрд╛рд░реАрдХреА рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдХреЗрд╡рд▓ ACFacebookPcriKey рд╡рд╣рд╛рдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддрд╛ рд╣реИред рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдХреЛрдИ рднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ [dict setObject: forKey:]
ред рд▓реЗрдХрд┐рди, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рдЪрд░рдг рдореЗрдВ, Xcode рдиреЗ рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИред рдирддреАрдЬрддрди, рд╕рдм рдХреБрдЫ рд╕рдЪ рд╣реЛ рдЧрдпрд╛, рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╢реБрд░реВ рд╣реБрдЖ рдФрд░ ... рдЕрднреА рднреА рдЧрд┐рд░ рдЧрдпрд╛, рдпрд╣ рдЗрд╕ рдкрджреНрдзрддрд┐ рдкрд░ рдерд╛ред рдореБрдЭреЗ рдкрд╢реНрдЪрд╛рддрд╛рдк рд╣реБрдЖ, рдореИрдВрдиреЗ рдХреНрд░реИрд╢ рдбрдВрдк рдирд╣реАрдВ рдкрдврд╝рд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░ рджрд┐рдпрд╛, рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП TODO рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреАредfb_account_type
ред рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдереЛрдбрд╝рд╛ рдФрд░ рдЬрдЯрд┐рд▓ рд╣реИред рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛, рдореЗрд░рд╛ рдЖрд╡реЗрджрди рджреВрд╕рд░реЗ [store requestAccessToAccountsWithType:options:completion]
рдХреНрд░реИрд╢ рд╣реЛ рдЧрдпрд╛ред рдПрдХ рдФрд░ TODOред
рдореИрдВрдиреЗ рдЗрд╕ рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд░рд▓ рдХрд┐рдпрд╛:
void _fb_request_access(NSArray *permissions, FBAccessGrantedHandler handler) { ACAccountType *fb_account_type = [store accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook]; NSDictionary *dict = @{ACFacebookAppIdKey : fb_appid, ACFacebookPermissionsKey : permissions, ACFacebookAudienceKey : ACFacebookAudienceEveryone}; [store requestAccessToAccountsWithType:fb_account_type options:dict completion:^(BOOL granted, NSError *error) { if (granted && error == nil) { handler(); } }]; } _fb_request_access(@[@"email"], ^() { _fb_request_access(@[@"read_stream"], ^() { _fb_request_access(@[@"publish_stream"], ^() { _fb_post_impl(post); }); }); });
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рдерд╛ - рдЖрдИрдкреИрдб рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдФрд░ 6 рд╡реЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдпрд╣ рд╣рдорд╛рд░реЗ рд╕рд╛рде рдПрдХрдорд╛рддреНрд░ рд╣реИ)ред рд▓реЗрдХрд┐рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рджреАрд╡рд╛рд░ рдкрд░ рдкреЛрд╕реНрдЯрд┐рдВрдЧ
рдЕрдм, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рджреАрд╡рд╛рд░ рдкрд░ рдкреЛрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдореЗрд░рд╛ рдПрдХ рдЕрд▓рдЧ рдХрд╛рд░реНрдп рд╣реИ -
_fb_post_impl
ред
void _fb_post_impl(NSString *text) { ACAccountType *fb_account_type = [store accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook]; NSArray *accounts = [store accountsWithAccountType:fb_account_type]; fb_account = [accounts objectAtIndex:0]; SLRequest *fb_request = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodPOST URL:[NSURL URLWithString:@"https://graph.facebook.com/me/feed"] parameters:[NSDictionary dictionaryWithObject:text forKey:@"message"]]; [fb_request setAccount:fb_account]; [fb_request performRequestWithHandler:^(NSData* responseData, NSHTTPURLResponse* urlResponse, NSError* error) { NSLog([[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding]); }]; }
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕рд░рд▓ рд╣реИ:
ACAccountType
ред рдпрд╣ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкрд░рдорд┐рдЯ рдкрд╣рд▓реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рд╣реИрдВред- рдлрд┐рд░ рд╣рдореЗрдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рднреА рдЦрд╛рддреЗ рдорд┐рд▓рддреЗ рд╣реИрдВ рдФрд░ рд╣рдореЗрдВ рдЬрд┐рди рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
- рдкрд░рд┐рдгрд╛рдореА рд╕рд░рдгреА рд╕реЗ, рд╣рдо рдкрд╣рд▓реЗ рддрддреНрд╡ рдХреЛ рд▓реЗрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХреБрдЫ рднреА рдареЛрд╕ рдирд╣реАрдВ рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реЗ рдЦрд╛рддрд╛ рд╣реИред
- рдЦреИрд░, рдкреЛрд╕реНрдЯред
рдореИрдВ рдЕрдм рдХреЗрд╡рд▓ рдкрд╛рда рдкреЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реВрдВред рдЪрд┐рддреНрд░ / рд▓рд┐рдВрдХ / рд╢реАрд░реНрд╖рдХ / рдЖрджрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдорд╛рдкрджрдВрдбреЛрдВ рд╢рдмреНрджрдХреЛрд╢ рдХреЗ рдкреВрд░рдХ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╕рдВрднрд╛рд╡рд┐рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рд╕реВрдЪреА
рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ ред рдореИрдВ рдЖрдкрдХреЛ рдпрд╣ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдЕрдЧрд░ рдЖрдкрдХреЛ рджреАрд╡рд╛рд░ рдкрд░ рди рдХреЗрд╡рд▓ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
C # рдореЗрдВ рдкреНрд▓рдЧрдЗрди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛
рдпрд╣рд╛рдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рдФрд░ рдЖрджрд┐рдо рд╣реИред
[DllImport ("__Internal")] private static extern void _fb_init(String appid); [DllImport ("__Internal")] private static extern void _fb_post(String text); public static void fb_init() { _fb_init(" application id"); } public static void fb_post(String text) { _fb_post(text); }
рдПрдХ рдЫреЛрдЯрд╛ рдиреЛрдЯ -
String
# C рд╕реЗ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкреНрд▓рдЧ рдореЗрдВ
const char*
рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ
NSString
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред
рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рдмрдЬрд╛рдп
рдирддреАрдЬрддрди, рдореИрдВ рдЕрдкрдиреА рджреАрд╡рд╛рд░ рдкрд░ рдкрд╛рда (рдФрд░ рди рдХреЗрд╡рд▓) рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рд╕рдЪ рд╣реИ, рдореИрдВрдиреЗ рдЙрди рдЫреЛрдЯреЗ рдЬрд╛рдореЛрдВ рдХреЗ рдХрд╛рд░рдг рд╕рдордп рд╡реНрдпрддреАрдд рдХрд┐рдпрд╛, рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рд▓рд┐рдЦрд╛ рдерд╛ - рдХреЗрд╡рд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдоред
рдХреЛрдб рдХреЛ bitbucket -
bitbucket.org/mnazarov/fb_plugin рдкрд░ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╡реИрд╕реЗ, рдореИрдВ рдкрд╣рд▓реА рдмрд╛рд░ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдореЗрдВ рдЖрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдкрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХрд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рдХреЛрдб рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпреБрдХреНрддрд┐рдпрд╛рдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред
рдореБрдЭреЗ рднреА рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдХреЛрдИ рдЕрдкрдиреЗ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рдЕрдирд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЦреИрд░, рдореБрдЭреЗ рдмрд╣реБрдд рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдХреЛрдИ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддрд╛ рд╣реИ!
рдЦреИрд░, рдЕрдм рдХреБрдЫ рд╕рд╡рд╛рд▓:
- рдореИрдВрдиреЗ рдбрд┐рдХреНрд╢рдирд░реА рдХреЗ рд╕рд╛рде рдЬреЛ рдЧрд▓рдд рдХрд┐рдпрд╛, рд╡рд╣
[dict:setObject:forKey]
рддрд░реАрдХрд╛ рдореЗрд░реЗ рдХрд╛рдо рдирд╣реАрдВ рдЖрдпрд╛ред рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ Xcode рдХреЛ рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдерд╛, рдФрд░ рдЙрд╕реА Stackoverflow рдкрд░, рд▓реЛрдЧ рдЙрд╕реА рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред - рджреВрд╕рд░рд╛ рд╕рд╡рд╛рд▓ iPad рдХреЗ рддрд╣рдд рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реИ - рдХреИрд╕реЗ рдбреАрдмрдЧ рдХрд░реЗрдВ, "рд░рд╣рд╕реНрдпрдордп" рдмрдЧ рдХреЛ рдХреИрд╕реЗ рдкрдХрдбрд╝реЗрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЬрдм рдЗрд╕ рдкреНрд▓рдЧрдЗрди рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛, рдореИрдВрдиреЗ рдПрдХ рд╕реНрдерд┐рддрд┐ рджреЗрдЦреА рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрд╕ рдПрдХ NSLog рдХреЙрд▓ рдкрд░ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛!
рдореИрдВрдиреЗ рдХреНрд░реИрд╢ рдбрдВрдк рдкрдврд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреБрдЫ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ред
PS рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд▓реЗрдЦ рдиреЗ рдХрд┐рд╕реА рдХреЛ рддрдВрддреНрд░рд┐рдХрд╛ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рдмрдЪрд╛рдпрд╛ред