рдпрд╣ рдЕрдВрдбреЗ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд░рдВрдЧ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рд▓реЛрдЧ рдЬреЛ рдЕрдВрдбреЗ рд░рдВрдЧрддреЗ рд╣реИрдВ
рдкреНрдпрд╛рдЬ, рдЪреБрдХрдВрджрд░, рдкреБрд░рд╛рдиреЗ рдЯрд╛рдИ, рд░рдВрдЧреАрди рдзрд╛рдЧреЗ - рдЕрдВрдбреЗ рдХреЛ рд░рдВрдЧрдиреЗ рдХреЗ рдХрд┐рддрдиреЗ рддрд░реАрдХреЗ рд╣реИрдВ? рдЖрдЬ рд╣рдо рдПрдХ рдФрд░ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореЛрд░рдкрдВрдЦ рдХрд╛ рдЪреЗрд╣рд░рд╛
рдЕрдВрдбреЗ рдХреЛ рдкреЗрдВрдЯ рдХрд░реЗрдВ - рдЖрд▓реВ рдХреЛ рднреВрдиреЗрдВ рдирд╣реАрдВред
рдкреНрд░рддреНрдпреЗрдХ рдкреИрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╕рд╛рдордЧреНрд░реА рд╣реИ, рдФрд░ рдЬрдм рдЙрд╕ рдЙрддреНрдкрд╛рдж рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ рдЬрд┐рд╕реЗ рддрдм рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ред
рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ!рдЖрдк рд╕рднреА рдХреА рдЬрд░реВрд░рдд рд╣реИ рдПрдХ
iPhone рд╣реИ , рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдЖрдк рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЦреНрдп рдмрд╛рдд рдЕрдВрдбреЗ рдХреЛ рд╕реНрдЯреЙрдХ рдХрд░рдирд╛ рд╣реИред
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдкрд╣рд▓реЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд┐рддрдиреЗ рдЪрд┐рд╣реНрди рдФрд░ рдЖрднреВрд╖рдг рд╣реЛрдВрдЧреЗ, рд╡реЗ рдХреИрд╕реЗ рджрд┐рдЦреЗрдВрдЧреЗ рдФрд░ рдЖрдЦрд┐рд░рдХрд╛рд░, рд╣рдо рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реА рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрдПред рдХреБрдЫ рджрд┐рдиреЛрдВ рдмрд╛рдж, рд╣рдореЗрдВ
5 рд░рдВрдЧреЛрдВ рдФрд░
5 рд▓реЗрдЖрдЙрдЯ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕рд╛
350 рд╡рд┐рднрд┐рдиреНрди рдЧрд╣рдиреЗ рдорд┐рд▓реЗред
"рдореЛрдЯрд░, рдХреИрдорд░рд╛ ... рдПрдХреНрд╢рди!"
рдкрд╣рд▓реЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рддреБрд░рдВрдд рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдереЗ, рдЬрд┐рд╕ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдореБрдЦреНрдп рд╕реНрдХреНрд░реАрди, рдЙрдкрд▓рдмреНрдз рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рдкреЗрдВрдЯ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдпрд╛рдВрддреНрд░рд┐рдХреА рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЧрдП рдереЗред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдЕрдВрдбреЗ рдкрд░ рд╕рдм рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рдерд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд┐рднрд┐рдиреНрди trifles рдкрд░ рдПрдХ рдкрд░рд╕реНрдкрд░ рд╡рд┐рд░реЛрдзреА рд░рд╛рдп рдереА, рдЬреИрд╕реЗ "рдХреНрдпрд╛ рдореБрдЭреЗ рдЬрд╝реЛрди рдЪреБрдирддреЗ рд╕рдордп рдЕрдЧрд▓реЗ рд╕рдВрдкрд╛рджрди рдЪрд░рдг рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ?" рдФрд░ рдЗрд╕реА рддрд░рд╣

рдкреНрд░рддреНрдпреЗрдХ рдЕрдВрдбреЗ рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рд╣рд╛рде рд╕реЗ рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рдерд╛ - рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧрддрд╛ рдерд╛ред
" рдЖрдк
рдореЙрдбрд▓ рджреНрд╡рд╛рд░рд╛ рдЖрд╡реЗрджрди рдореЗрдВ рдЦреБрдж рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ?" рдЖрдк рдкреВрдЫрддреЗ рд╣реИрдВред рд╣рдо рдЙрддреНрддрд░ рджреЗрддреЗ рд╣реИрдВ: рдкреНрд░рддреНрдпреЗрдХ рдЖрднреВрд╖рдг рдХреЛ рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ рдПрдХ рдЕрдВрдбреЗ рдкрд░ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рдерд╛ - рдРрд╕реЗ рдХрд╛рдо рдкрд░ рд░реЛрдмреЛрдЯ рдХреЗ рд╕рд╛рде рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкрд╛рдиреА рдХреЗ рдиреАрдЪреЗ рдХреЗ рдЕрдВрдбреЗ
рд╣рдордиреЗ
рдХреЛрдХреЛрд╕ рдкрд░ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдпрд╛, рдФрд░ рдореБрдЦреНрдп рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рдХреЗрд╡рд▓ рджреГрд╢реНрдп рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдереАрдВ
UIView рдХреЗ рд╡рд╛рд░рд┐рд╕реЛрдВ рдХреЗ рд╕рд╛рде, рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рддреЛрдбрд╝рдХрд░ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХрд╛рд░реНрдп рдЬреЛ рдХреНрд╖рд┐рддрд┐рдЬ рдкрд░ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ : рдмрд╣реБрдд рд╕рд╛рд░реА рддрд╕реНрд╡реАрд░реЗрдВ, рдЖрдкрдХреЛ
50 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдХреЗ рднреАрддрд░ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдпрд╛рд░реНрдб рдореЗрдВ 2013 рдерд╛,
рдЖрдИрдУрдПрд╕ 7 рдореЗрдВ рд╕реАрдорд╛
рджреЛрдЧреБрдиреА рд╣реЛ рдЧрдИ рдереА ), рдЕрдиреНрдпрдерд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрд▓реБрд▓рд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдЧрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЬреАрдкреЛрдВ рдореЗрдВ рд╕рдм рдХреБрдЫ рд╣рд┐рд▓рд╛ рджрд┐рдпрд╛, рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдПрдХ рдореБрдЦреМрдЯрд╛ рдЦреАрдВрдЪрд╛ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде рдкрд░рдд рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдпрд╣ рдХрд┐рдпрд╛!
рдиреАрд▓реЗ рд░рдВрдЧ рдореЗрдВ - рджрд░рд╡рд╛рдЬрд╛ рдЪреБрдЯрдХреА
рдРрдк рдХреЛ
рдЗрди-рдРрдк рдЦрд░реАрджрд╛рд░реА рдХреЗ рд╕рд╛рде рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдм рдХреБрдЫ рдбрдмрд▓-рдЪреЗрдХ рдХрд░реЗрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ -
рдЧреИрд░-рдЙрдкрднреЛрдЬреНрдп рдЦрд░реАрдж рдХреЗ рд▓рд┐рдП рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдмрдЯрди рдХреЛ рдордд рднреВрд▓рдирд╛ред рд╣рдореЗрдВ рдЕрдкрдиреА рдЕрдЪреНрдЫреА-рдЦрд╛рд╕реА-рдпреЛрдЧреНрдп
рдЕрд╕реНрд╡реАрдХреГрддрд┐ рдорд┐рд▓реА рдФрд░ рдЕрдЧрд▓реЗ рд╕рд╛рд▓ рддрдХ рд╕рдВрд╢реЛрдзрди рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛ рдЧрдпрд╛ред
рдЗрди-рдРрдк рдЦрд░реАрджрд╛рд░реА рдкрд░реАрдХреНрд╖рдг рдмрд╣реБрдд рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред рдкрд░реАрдХреНрд╖рдг iTunes рдЦрд╛рддреЛрдВ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдмрд╣реБрдд рдЕрдЬреАрдм рд╣реИ -
рдПрдХ рдмрд╛рд░ рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдФрд░ рд╣рд╛рдБ, рдпрджрд┐ рдЖрдк рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдХреБрдЫ
рдЗрди-рдРрдк рдЙрдкрд▓рдмреНрдз рд╣реИрдВ рдХреЗрд╡рд▓ - рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди
рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╡рд╣реА рдЕрдВрдбреЗ - рд╕рд╛рдЗрдб рд╡реНрдпреВ
рд╣рдордиреЗ рдЬрд▓реНрджреА рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ
рд╕реНрдкреНрд░рд╛рдЗрдЯрдХрд┐рдЯ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░
рджрд┐рдпрд╛ - рддрд░реНрдХ
рдПрдХ рд╣реА рд░рд╣рд╛ , рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╡рд╕реНрддреБрдУрдВ рдХреА рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ
рдХреЛрд░рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдкрд░ рдЪрдврд╝рдирд╛ рднреА рдирд╣реАрдВ
рдкрдбрд╝рд╛ :
SKSpriteNode *patternNode = [SKSpriteNode spriteNodeWithImageNamed:spriteImageName]; SKSpriteNode *maskNode = [SKSpriteNode spriteNodeWithImageNamed:maskImageName]; SKCropNode *zoneNode = [SKCropNode node]; [zoneNodeaddChild:patternNode]; [zoneNode setMaskNode:maskNode];
рдкрд╣рд┐рдпрд╛ рдХреЛ рдХреНрдпреЛрдВ рдордЬрдмреВрдд рдХрд░реЗрдВ? рд╣рдо рдорд╛рдирдХ рдиреЗрд╡рд┐рдЧреЗрд╢рди
UINavigationController рдкрд░ рд▓реМрдЯ рдЖрдП, рдЕрдм рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реЗрдВ -
рдореБрдЭреЗ рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдП ред

рдЖрдк
UIScrollView рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд░рдЦрдХрд░
SKNode рд╡рдВрд╢ рдХреЗ рд▓рд┐рдП
UIScrollView рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░
рд╕рдХрддреЗ рд╣реИрдВ,
SKScene рдХреЛ
рдЦреАрдВрдЪрдиреЗ рд╡рд╛рд▓реЗ
SKView рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдХрдВрдЯреЗрдирд░
рд░рдЦреЗрдВ , рдФрд░ рдРрд╕реЗ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП
UIScrollViewDelegate рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд▓рд╛рдЧреВ рдХрд░реЗрдВ рдФрд░ рддрдм
рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░
SKNode рд╕реНрдерд┐рддрд┐ рдмрджрд▓реЗрдВред
- (void)scrollViewDidScroll:(UIScrollView *)scrollView { // See also: http://stackoverflow.com/a/19197965/429253 _selectorNode.position = CGPointMake(- scrollView.contentOffset.x + 160.0f, _selectorNode.position.y); }
рдЕрдВрдбрд╛ рд╢рд░реАрд░ рд░рдЪрдирд╛
Google Analytics рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдерд╛, рдЗрд╕реЗ рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рд░рд╛рд╢рд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдФрд░ рдмреЙрдХреНрд╕ рдХреЗ рдареАрдХ рдмрд╛рд╣рд░ рдЙрддреНрддреЛрд▓рди рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ред рд╕реНрдХреНрд░реАрди, рдШрдЯрдирд╛рдУрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдкреИрдЯрд░реНрди - рд╕рдм рдХреБрдЫ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╡реЗрдВрдЯ рдЯреНрд░реИрдХрд┐рдВрдЧ:
[[[GAI sharedInstance] defaultTracker] send: [[GAIDictionaryBuilder createEventWithCategory:@"Share" action:@"Facebook" label:nil value:nil] build]];
рд╕реНрдХреНрд░реАрди рдЯреНрд░реИрдХрд┐рдВрдЧ:
id tracker = [[GAI sharedInstance] defaultTracker]; [tracker set:kGAIScreenName value:@"Store: Super Eggs"]; [tracker send:[[GAIDictionaryBuilder createAppView] build]];
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдиреБрднрд╛рдЧ
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдмрдЪрд╛рддрд╛ рд╣реИ:

рдФрд░ рд╣рд╛рдВ, рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдФрд░ рдЯреЗрд╕реНрдЯ рд░рди рдХреЗ рд▓рд┐рдП рдЖрдВрдХрдбрд╝реЛрдВ рдХреЛ рдХрд╛рдЯ рджреЗрдирд╛ рдордд рднреВрд▓рдирд╛ - рдЖрдВрдХрдбрд╝реЛрдВ рдореЗрдВ рдХрдЪрд░рд╛ рдХреНрдпреЛрдВ рд╣реИ?
#if TARGET_IPHONE_SIMULATOR || DEBUG [[GAI sharedInstance] setOptOut:YES]; #endif
рд╢реБрджреНрдз рдЕрдВрдбреЗ
рдлреЗрд╕рдмреБрдХ рдХреЗ рд▓рд┐рдП "рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рдмрдирд╛рдирд╛ рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░реЛрдВ рдХреЗ рдмреИрдирд░ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИред рдЖрдкрдХреЛ рдЕрднреА рднреА рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдирд╛ рд╣реИред рдпрд╣рд╛рдВ, рдЖрдкрдХреЛ
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗрдВрджреНрд░ рдореЗрдВ рдлреЗрд╕рдмреБрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдХреБрдЫ рд╕рдордп рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рд╡реЗ рддреАрди рдХрд╛рд░реНрдп рджрд┐рд╡рд╕реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рддреЗ рд╣реИрдВ, рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рджрд┐рди рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ)ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛,
рдлреЗрд╕рдмреБрдХ рдПрд╕рдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП
рд▓реЙрдЧрд┐рди рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИ: рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдлреЛрди рдореЗрдВ рдлреЗрд╕рдмреБрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЖрдк
рдЖрдИрдУрдПрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд╕реЛрд╢рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд▓реЙрдЧ рдЗрди рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ, рдкрд░рд┐рдгрд╛рдо рдЕрд▓рдЧ рд╣реЛрдЧрд╛ред
SSO рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП,
Xcode рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ
URL рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ (рдлреЗрд╕рдмреБрдХ рдкрд░ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде nines рдХреА рдЬрдЧрд╣):
FBRequestConnection рдХреЗ рд╕рд╛рде
рдлрд╝реЛрдЯреЛ рднрд░реЗрдВ рдФрд░ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╣рдо рдЗрд╕ рдлрд╝реЛрдЯреЛ рдореЗрдВ рдХреМрди рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
FBRequestConnection *photoUploadConnection = [[FBRequestConnection alloc] init]; FBRequest *request = [FBRequest requestForUploadPhoto:_image]; [request.parameters setObject:[NSString stringWithFormat:@"[{\"tag_uid\":\"%@\"}]", friendId] forKey:@"tags"]; [request.parameters setObject:K_APP_PROMO_TEXT forKey:@"name"]; [photoUploadConnection addRequest:request completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { if (!error){ // handle success } } batchEntryName:@"photopost"]; [photoUploadConnection start];
VKontakte рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЪрд┐рддреНрд░ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдХрд╛ рдкрддрд╛ рдкреВрдЫрдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдЗрд╕реЗ рджреАрд╡рд╛рд░ рдкрд░ рдПрдХ рдорд┐рддреНрд░ рдХреЛ рдкреЛрд╕реНрдЯ
рдХрд░реЗрдВ (
рдлреЗрд╕рдмреБрдХ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬрд╣рд╛рдВ рд╣рдо рдПрд▓реНрдмрдо рдореЗрдВ рдЪрд┐рддреНрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рдкрд░ рдХрд┐рд╕реА рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
// 1. Get upload server NSDictionary *result = [self sendVkRequestForMethod:@"photos.getWallUploadServer" params:[NSDictionary dictionaryWithObjectsAndKeys: friendId, @"uid", K_ACCESS_TOKEN, @"access_token", nil] error:&error]; // 2. Upload image if (!error) { result = [self sendPOSTRequest:[[result objectForKey:@"response"] objectForKey:@"upload_url"] withImageData:UIImageJPEGRepresentation(_image, 75)]; } // 3. Save image if (!error) { result = [self sendVkRequestForMethod:@"photos.saveWallPhoto" params:[NSDictionary dictionaryWithObjectsAndKeys: friendId, @"uid", K_ACCESS_TOKEN, @"access_token", [result objectForKey:@"hash"], @"hash", [result objectForKey:@"photo"], @"photo", [result objectForKey:@"server"], @"server", nil] error:&error]; } // 4. Post on wall if (!error) { result = [self sendVkRequestForMethod:@"wall.post" params:[NSDictionary dictionaryWithObjectsAndKeys: friendId, @"owner_id", K_ACCESS_TOKEN, @"access_token", K_APP_PROMO_TEXT, @"message", [[[result objectForKey:@"response"] lastObject]objectForKey:@"id"], @"attachment", nil] error:&error]; }
C Instagram
рд╕рд░рд▓ рд╣реИ , рдкрд╣рд▓реЗ рдЫрд╡рд┐ рдХреЛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди
* .igo рд╕реЗ рд╕рд╣реЗрдЬреЗрдВ , рдлрд┐рд░
UIDocumentInteractionController рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд┐рдВрдХ рдЦреЛрд▓реЗрдВред
// 1. Save file with *.igo extension NSString *path = [[self applicationDocumentsDirectory].path stringByAppendingPathComponent:@"EggMaker.igo"]; NSError *error = nil; [UIImagePNGRepresentation(postcardImage) writeToFile:path options:0 // 2. Open with UIDocumentInteractionController if (!error) { NSURL *instagramURL = [NSURL URLWithString:@"instagram://app"]; if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) { self.documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL: [NSURL fileURLWithPath:path]]; self.documentInteractionController.UTI = @"com.instagram.exclusivegram"; self.documentInteractionController.annotation = [NSDictionary dictionaryWithObject:K_SHARE_TEXT forKey:@"InstagramCaption"]; [self.documentInteractionController presentOpenInMenuFromRect:self.view.frame inView:self.view animated:YES]; } }
рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдЕрдВрдбреЗ
рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреА рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рд░реА-рдкреНрд░реЗрдЬреЗрдВрдЯреЗрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрд╡рд╕рд░ рд╣рдореЗрд╢рд╛ рдирд╣реАрдВ рдерд╛, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░
рдРрдк рд╕реНрдЯреЛрд░ рдирд┐рдпрдо рдбреЗрдореЛ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ? рдпрд╣ рдХрд╛рд░реНрдп
App.io рджреНрд╡рд╛рд░рд╛ рд╕рдВрднрд╛рд▓рд╛ рдЧрдпрд╛ рдерд╛:

рдЖрдк рдПрдХ рдирд┐рд╢реБрд▓реНрдХ рдЦрд╛рддреЗ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдХреЗ рдПрдХ рдЖрд╡реЗрджрди рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓рд┐рдВрдХ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдбреЗрдореЛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдФрд░ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореБрдлреНрдд рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдРрд╕рд╛ рдбреЗрдореЛ рдлреБрд▓-рд╕реНрдХреНрд░реАрди рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдРрдк рд╕реНрдЯреЛрд░ рдореЗрдВ Yaytsdel рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:
http://appstore.com/ Yaytsdel (
рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рд╢реЙрд░реНрдЯ рд▓рд┐рдВрдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдкреВрдЫрд╛ рд╣реИ ?)
рд╣рдорд╛рд░реЗ рд╕рд╛рде рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж,
рд╕реБрдкрд░ рдЕрдВрдбреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ - рд╡рд╣рд╛рдВ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдФрд░ рдкреЗрдВрдЧреБрдЗрди рд╣реИрдВ!
рдлреЗрд╕рдмреБрдХ рдФрд░
VKontakte рдкрд░ рд╣рдорд╛рд░реЗ рдкреГрд╖реНрда
рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП: рдЕрдВрдбреЗ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрдирд╛!
рдХреНрд░рд╛рдЗрд╕реНрдЯ рд╣реИ рдЛрд╕реЗрди!