정보를 공유하기 위해 iOS 6 새로운 방법을 사용하고 있습니다 : UIActivityViewController
. 미디어 (페이스 북, 트위터 또는 메일)에 따라 공유 데이터를 선택하려면 내보기 컨트롤러는 다음과 같이 UIActivityItemSource
프로토콜을 구현 :UIActivityItemSource Protocole 복잡한 개체를 설정했습니다.
- (IBAction)onShareButton:(UIButton *)sender
{
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[self] applicationActivities:nil];
activityViewController.excludedActivityTypes = @[UIActivityTypeMessage, UIActivityTypeAssignToContact, UIActivityTypeCopyToPasteboard, UIActivityTypeMessage, UIActivityTypePostToWeibo, UIActivityTypePrint, UIActivityTypeSaveToCameraRoll];
[self presentViewController:activityViewController animated:YES completion:^{}];
}
#pragma mark - UIActivityItemSource Protocol
- (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType {
if ([activityType isEqualToString:UIActivityTypePostToFacebook]) {
NSArray *items = @[@"message facebook", [NSURL URLWithString:@"http://www.myUrlFacebook.com"]];
return items;
} else if ([activityType isEqualToString:UIActivityTypePostToTwitter]) {
NSArray *items = @[@"message twitter", [NSURL URLWithString:@"http://www.myUrlTwitter.com"]];
return items;
} else if ([activityType isEqualToString:UIActivityTypeMail]) {
NSArray *items = @[@"message mail", [NSURL URLWithString:@"http://www.myUrlMail.com"]];
return items;
}
NSArray *items = @[@"Not a proper Activity", [NSURL URLWithString:@"http://www.myUrlMail.com"]];
return items;
}
- (id)activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController {
return @"PlaceHolder";
}
내가 activityViewController:itemForActivityType:
에 대한 간단한있는 NSString을 반환하고있어 문자열이 아니라에서 사용되는 내 UIActivityViewController
,하지만 난 을 사용할 수있는 방법을 찾을 수 없습니다!
애플 문서에 따르면이 가능해야한다 :
이이이 방법은 활동 객체에 의해 행동하는 실제 데이터 객체를 반환 Apple documentation
사람이 이제까지이 UIActivityItemSource
프로토콜을 사용 하는가 배열, 또는 그것을 사용하는 전체 튜토리얼을 사용하고 있습니까?
참고 : 나는 또한 콘솔에서이 오류를 가지고, 그것은
시작 서비스 ... 도움이 될 수 : 찾을 수 없습니다 : 알 수없는 응용 프로그램 식별자 com.apple.mobilemail 등록이
시작 서비스 실패 앱 식별자 com.apple.mobilemail
com.apple.mobilemail에 대한 메시지가 콘솔에 무엇인지 알아 냈습니까? –
콘솔 오류는 시뮬레이터에서만 발생하며 메일 앱은 단순히 존재하지 않습니다. 그것은 무시할 수 있습니다. – Emil
@Tommecpe : 어떻게 고쳤습니까? – BaSha