Tôi đang sử dụng iOS 6 cách mới để chia sẻ thông tin: UIActivityViewController
. Để chọn chia sẻ dữ liệu tùy thuộc vào phương tiện truyền thông (facebook, twitter hoặc mail) điều khiển quan điểm của tôi thực hiện UIActivityItemSource
Nghị định thư như sau:UIActivityItemSource Protocole đặt đối tượng phức tạp
- (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";
}
Khi tôi trở lại một NSString đơn giản cho activityViewController:itemForActivityType:
chuỗi được cũng được sử dụng bởi tôi UIActivityViewController
, nhưng tôi không thể tìm thấy cách sử dụng Array
!
Theo Apple Tài liệu chúng ta có thể:
Phương pháp này trả về đối tượng dữ liệu thực tế được tác động bởi một đối tượng hoạt động Apple documentation
Có ai đã từng sử dụng UIActivityItemSource
Nghị định thư này với Mảng, hoặc là có một hướng dẫn sử dụng đầy đủ để làm điều đó?
Lưu ý: Tôi cũng đã nhận lỗi này trên bàn điều khiển, nó có thể giúp ...
Launch dịch vụ: Đăng ký nhận dạng ứng dụng chưa được biết com.apple.mobilemail thất bại
Launch Services: Không tìm thấy mã định danh ứng dụng com.apple.mobilemail
Bạn đã tìm ra thư nào về com.apple.mobilemail nằm trong bảng điều khiển chưa? –
Lỗi bảng điều khiển chỉ xuất hiện trong trình mô phỏng, nơi ứng dụng thư không tồn tại. Nó có thể bị bỏ qua. – Emil
@Tommecpe: Bạn khắc phục nó như thế nào? – BaSha