새로운 UIActivityViewController를 사용하여 공유하기 위해 모든 UIActionSheets을 바꾸려고했지만 문제가 발생했습니다.UIActivityViewController - 특정 활동에 대해서만 URL을 첨부하십시오.
5 가지 활동, 메시지, 이메일, 복사, 트위터 및 Facebook이 있습니다. 난 단지 보여주고 싶은,
ActivityProvider *aProvider = [[ActivityProvider alloc] init];
aProvider.facebook = facebook;
aProvider.twitter = twitter;
aProvider.urlScheme = URL;
NSArray *Items = @[aProvider, sharedURL];
UIActivityViewController *activityVC = [[UIActivityViewController alloc]initWithActivityItems:Items applicationActivities:Nil];
activityVC.excludedActivityTypes = @[UIActivityTypePrint, UIActivityTypeAssignToContact,UIActivityTypeSaveToCameraRoll, UIActivityTypePostToWeibo];
[self presentViewController:activityVC animated:TRUE completion:nil];
그러나 :
- (id) activityViewController:(UIActivityViewController *)activityViewController
itemForActivityType:(NSString *)activityType
{
if ([activityType isEqualToString:UIActivityTypePostToTwitter])
return twitter;
if ([activityType isEqualToString:UIActivityTypePostToFacebook])
return facebook;
if ([activityType isEqualToString:UIActivityTypeMessage])
return urlScheme;
if ([activityType isEqualToString:UIActivityTypeMail])
return urlScheme;
if ([activityType isEqualToString:UIActivityTypeCopyToPasteboard])
return urlScheme;
return nil;
}
그리고 이것은 내보기 컨트롤러 : 난 이미 그 사용자 정의 UIActivityProvider 서브 클래스에서이를 통해 다른 텍스트를 표시해야하는 방법을 알아 냈어요 Facebook, Twitter 공유 시트의 URL (sharedURL)은 메시지, 이메일 또는 사본이 아닙니다. 이것을 달성하기위한 어떤 방법?