私たちは最近、MailComposerVC、メッセージ、facebook および twiter VC を表示するモーダル ビューを呼び出す UIActivityViewController の実装に問題があることを発見しました。すべての古いデバイスでは、必要なメッセージ コンポーザーが開き、ユーザーがアクティビティ シートのアイコンをタップした後にメッセージを作成できるようになります。64 ビット デバイスと 64 ビット シミュレータで、ユーザーが関連アイコンをタップすると、アクティビティが (正常に) 失敗し、コンソールに次のエラーが表示されます。
2013-11-08 12:13:00.885 2life[24880:a0b] CFBundle 0xd2795d0 の実行可能ファイルが見つかりません (ロードされていません) 2013-11-08 12:13:00.891 2life[24880:a0b] サービスの起動: 不明なアプリ識別子 com.apple.mobilemail の登録に失敗しました 2013-11-08 12:13:00.892 2life[24880:a0b] 起動サービス: アプリ識別子 com.apple.mobilemail が見つかりません 2013-11-08 12:13:09.267 2life[24880:a0b] _serviceViewControllerReady:error: エラー ドメイン = NSCocoaErrorDomain コード = 4097 「操作を完了できませんでした。(Cocoa エラー 4097。)」
誰かがこれについて何か洞察を持っていますか? これが私たちの方法です:
- (void)showShareView:(NSIndexPath *)indexPath
{
NSString *text = NSLocalizedString(@"tellAFriendText", @"This is deault text sting for the message.");
//NSString *text = @"Test";
UIImage *image = [UIImage imageNamed:@"tell-a-friend.png"];
NSArray *activityItems = [NSArray arrayWithObjects: text, image, nil];
UIActivityViewController * activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
// activityController.tintColor = [UIColor colorWithWhite:1.0f alpha:0.8f];
NSArray *exclusions = @[UIActivityTypeSaveToCameraRoll,UIActivityTypeAssignToContact,UIActivityTypeCopyToPasteboard,UIActivityTypePrint];
activityController.excludedActivityTypes = exclusions;
if (iPhone) {
[self presentViewController:activityController animated:YES completion:nil];
}else if(iPad){
UIPopoverController *pop = [[UIPopoverController alloc] initWithContentViewController:activityController];
popover = pop;
CGRect rect = [self.menuTableView rectForRowAtIndexPath:indexPath];
rect.origin.x = (rect.size.width - rect.size.width/2)/2;
rect.size.width /= 2;
rect.size.height /= 2;
[pop presentPopoverFromRect:rect inView:self.menuTableView permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
}
}