5

PLCrashReporter、AWS Cognito/SNS、Google Analyticsフレームワークを使用するXcode 8.0で既に公開されているアプリケーションを再構築します。MFMailComposeViewControllerとiOS 10のプライバシー問題

iOS 10.xデバイスでのみ、テスト用バケットの実行中にメール作成用のvcが表示されなくなっています。

[MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles 
[MC] Filtering mail sheet accounts for bundle ID: [MY BUNDLE ID], source account management: 1 
[MC] Result: YES 

私はここにコンソールメッセージのこれらの並べ替えを一つの基準が見つかりました::UIActivityViewController crash on iOS 10

をしかし、私のアプリはない([MFMailComposeViewController.canSendMail])が到達した場合ときXcodeのコンソールでは、私はすぐにこれらのメッセージを参照してくださいまだ写真を利用していますが、私は笑顔のための私のinfo.plistへのリンクに記載されている写真のプライバシー記述を追加しようとしましたが、もちろん喜びはありません。問題は解決しない。

私のアプリは、バーコードをスキャンするためにカメラを使用します。そして、カメラのプライバシー記述はinfo.plistにあり、昨年から続いています。アプリは、プライバシーの説明が必要な他の機能を利用していません。

iOS 9.3.5デバイスが接続されている場合と同じコードとXC8設定が期待通りに機能します。

誰でもこれを見ましたか?

+0

は私も同様のログを取得しています、私はまだそれのソースを特徴づけるためにしようとしている、とGoogleは、任意の正の結果を与えるのは、お楽しみにさせませんでした検索します。 –

+0

ええ、私はiOS 10でこれを引き起こしていることをゼロにすることはできませんでした。私は笑顔のためにすべてのプライバシーの説明をplistに追加しましたが、まだ動作しませんが、少なくともこれらの可能性を排除しました。 – drshock

答えて

1

多くの分析の後、私は最後にこの問題を最終的に考え出しました。あなたは「NO」、あなたはプライバシーの問題を抱えているが、YES、プライバシーがあったことを示す取得した場合

[MC] Result: YES 

:それは実際にiOSの10でMFMailComposeViewControllerプライバシー変化とは何の関係もなかった知っているの鍵となるのは、このログメッセージでした問題ない。最終的には私の場合、とにかく私のケースでは、問題はiOS 10で実行されたコードのタイミング問題です。

テスト対象の同じ正確なデバイスモデルで、iOS 10とiOS 9.3でテストします。 5問題は、別のアラートが既に提示されているときにUIAlertControllerの現在の要求が呼び出されているエラー・パスでした。 iOS 9.x以前では、期待したものが勝ち、毎回最初に提示されたのはちょうど "運が良かった"ことでした。しかし、iOS 10では毎回そうしていなかったので、私の状況でMFMailComposeViewControllerをブロックしました。

次のコードは、問題があった:私が欲しかったすべてが、このエラーパスUIAlertControllerが常に提示されたことを確実にするためだった私の場合は

[self dismissViewControllerAnimated:YES completion:^{ 
      [self presentViewController:crashMailAlertController animated:YES completion:nil]; 
     }]; 

:このコードでそれを置き換える

[self presentViewController:crashMailAlertController animated:YES completion:nil]; 

は、問題を解決しました最初はまれなイベント(クラッシュが発生した場合のみ)だったので、以前のアラートを一旦解除すると、MFMailComposeViewControllerがアラートボタンのアクションに埋め込まれたときにそのように表示されるようになりました。

0

(UIActivityViewControllerを使用して)共有アクティビティダイアログをポップアップするときに同じログメッセージが表示されていました。コードはios9でうまくいきましたが、ios10で失敗しました(ダイアログの代わりに、2つのポップアップに「もっと...」が付いていました)。私は1つのイメージを配列として、 'activityItems:[myImage]'として渡していました。問題は、この引数が非オプションの値の配列を予期していたため、 '[myImage!]'に変更すると問題が解決されたように見えます。

これが説明されている問題の解決策であるかどうかは不明ですが、類似したものが動作する可能性があります。

0

私の仕事!

if([MFMailComposeViewController canSendMail]) { 
     MFMailComposeViewController *mailCont = [[MFMailComposeViewController alloc] init]; 
     mailCont.mailComposeDelegate = self;  // Required to invoke mailComposeController when send 

     [mailCont setSubject:@"Mail Subject"]; 
     [mailCont setToRecipients:[NSArray arrayWithObject:@"[email protected]"]]; 
     [mailCont setMessageBody:@"" isHTML:NO]; 

     [self presentViewController:mailCont animated:YES completion:nil]; 
    } 
関連する問題