рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдХрд╛рд░реНрдп рдорд╛рдирдХ рдирд┐рдпрдВрддреНрд░рдХ
UIActivityViewController рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЛрд╢рд▓ рдиреЗрдЯрд╡рд░реНрдХ VKontakte рдкрд░ рдлрд╝реЛрдЯреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди рд╣реБрдЖред
рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдЦреЛрдЬ рдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рдП:
- рдХреЛрдИ рдкреВрд░реНрдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рдорд┐рд▓рд╛
- рдПрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдПрд╕рдбреАрдХреЗ VKontakte рд╣реИ : рдЗрд╕рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рддрдВрддреНрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди UIActivityViewController рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХреНрд▓рд╛рд╕ рдирд╣реАрдВ рд╣реИ
- рдХрд╕реНрдЯрдо UIActivity рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП Apple рдкреНрд░рд▓реЗрдЦрди рд╣реИ
рд╡реАрдХреЗ рдПрд╕рдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рддреИрдпрд╛рд░реА
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рд╡реАрдХреЗ рдПрд╕рдбреАрдХреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рдЖрдкрдХреЛ
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд┐рд░реНрдорд╛рдг рдкреГрд╖реНрда рдкрд░ рдПрдХ
рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрдИрдбреА рд╕рд╣реЗрдЬреЗрдВ рдФрд░ "iOS рдХреЗ рд▓рд┐рдП рдРрдк рдмрдВрдбрд▓" рдлрд╝реАрд▓реНрдб рднрд░реЗрдВред
VK App рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди URL рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
- рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЦреЛрд▓реЗрдВ, "рдЬрд╛рдирдХрд╛рд░реА" рдЕрдиреБрднрд╛рдЧ рдЪреБрдиреЗрдВред
- URL рдкреНрд░рдХрд╛рд░ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, + рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
- " рдЗрдВрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░ " рдФрд░ "URL рд╕реНрдХреАрдореНрд╕" рдлрд╝реАрд▓реНрдб рдореЗрдВ vk + APP_ID (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, vk1234567 ) рджрд░реНрдЬ рдХрд░реЗрдВред
рдПрд╕рдбреАрдХреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдПрд╕рдбреАрдХреЗ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
[VKSdk рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝: рдбреЗрд▓реАрдЧреЗрдЯ рдФрд░AppId: APP_ID];
рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
[рд╡реАрдХреЗрдПрд╕рдбреАрдХреЗ рдЕрдзрд┐рдХреГрдд: рдЧреБрдВрдЬрд╛рдЗрд╢];
рд╕рдлрд▓ рд╣реЛрдиреЗ рдкрд░, рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХреЛ рдПрдХ рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛
- (рд╢реВрдиреНрдп) vkSdkDidReceiveNewToken: (VKAccessToken *) newToken;
рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рд╣реИ)
- (рд╢реВрдиреНрдп) vkSdkUserDeniedAccess: (VKError *) рдкреНрд░рд╛рдзрд┐рдХрд╛рд░реА
рд╡реАрдХреЗ рдХреЗ рд▓рд┐рдП рдпреВрдЖрдИрдПрдХреНрдЯрд┐рд╡рд┐рдЯреА
Apple рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдмрд╛рдж, UIActivity рд╡рдВрд╢рдЬ рдмрдирд╛рдПрдВ:
#import <UIKit/UIKit.h> @interface VKontakteActivity : UIActivity - (id)initWithParent:(UIViewController*)parent; @end
рдХреИрдкреНрдЪрд╛ рдЗрдирдкреБрдЯ, рдореИрд╕реЗрдЬ рдЖрдЙрдЯрдкреБрдЯ рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ
рдЕрднрд┐рднрд╛рд╡рдХ рдирд┐рдпрдВрддреНрд░рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдЕрдЧрд▓рд╛, рд╣рдо рдпреВрдЖрдИрдПрдХреНрдЯрд┐рд╡рд┐рдЯреА рддрддреНрд╡ (рдкреНрд░рдХрд╛рд░, рдирд╛рдо рдФрд░ рдЖрдЗрдХрди) рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ
- (NSString *)activityType { return @"VKActivityTypeVKontakte"; } - (NSString *)activityTitle { return @""; } - (UIImage *)activityImage { return [UIImage imageNamed:@"vk_activity"]; }
рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдорд╛рд░реА рдХрдХреНрд╖рд╛ рд╕рд╛рдЭрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИред
- (BOOL)canPerformWithActivityItems:(NSArray *)activityItems { for (UIActivityItemProvider *item in activityItems) { if ([item isKindOfClass:[UIImage class]]) { return YES; } else if ([item isKindOfClass:[NSString class]]) { return YES; } } return NO; }
рд╣рдореЗрдВ рдЧрддрд┐рд╡рд┐рдзрд┐ рдпрд╛рдж рд╣реИред рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд:
- (void)prepareWithActivityItems:(NSArray *)activityItems { for (id item in activityItems) { if ([item isKindOfClass:[NSString class]]) { self.string = item; } else if([item isKindOfClass:[UIImage class]]) { self.image = item; } else if([item isKindOfClass:[NSURL class]]) { self.URL = item; } } }
рд╣рдорд╛рд░реА рдпреВрдЖрдИрдПрдХреНрдЯрд┐рд╡рд┐рдЯреА рдХреЛ рдЪреБрдирддреЗ рд╕рдордп, рд╣рдо рдЬрд╛рдБрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдзрд┐рдХреГрдд рд╣реИ рдпрд╛ рдирд╣реАрдВ:
- (void)performActivity{ [VKSdk initializeWithDelegate:self andAppId:@"3974615"]; if ([VKSdk wakeUpSession]) { [self postToWall]; } else{ [VKSdk authorize:@[VK_PER_WALL, VK_PER_PHOTOS]]; } }
рд╕рдлрд▓ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╣реЛрдиреЗ рдкрд░, рд╣рдо рдПрдХ рдкреЛрд╕реНрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
-(void)postToWall{ [self begin]; if (self.image) { [self uploadPhoto]; } else{ [self uploadText]; } }
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдкреЛрд╕реНрдЯ рдореЗрдВ рдХреЛрдИ рдЪрд┐рддреНрд░ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдкреВрд░реНрд╡-рдЕрдкрд▓реЛрдб рдХрд░реЗрдВред
- (void)uploadPhoto { NSString *userId = [VKSdk getAccessToken].userId;
VKontakteActivity рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рддрд╕реНрд╡реАрд░реЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг:
NSArray *items = @[[UIImage imageNamed:@"example.jpg"], @"Example" , [NSURL URLWithString:@"https://www.youtube.com/watch?v=S59fDUZIuKY"]]; VKontakteActivity *vkontakteActivity = [[VKontakteActivity alloc] initWithParent:self]; UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:@[vkontakteActivity]]; [self presentViewController:activityViewController animated:YES completion:nil];
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб
рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред