iOS6までは正常に機能するアプリがアプリストアにありました。
そこでクラッシュしますが、ストアからダウンロードした場合のみです。xCode を使用してインストールすると、クラッシュは発生しません。
オーガナイザーでクラッシュ レポートを読んでいると、次のように表示されます。
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libobjc.A.dylib 0x32b6f526 objc_retain + 6
1 XXXX 0x000cefd8 -[XXXX messageComposeViewController:didFinishWithResult:] (XXXX.m:96)
2 CoreFoundation 0x348659c0 __invoking___ + 64
3 CoreFoundation 0x347bcfe6 -[NSInvocation invoke] + 282
4 CoreFoundation 0x347bcb3e -[NSInvocation invokeWithTarget:] + 46
5 UIKit 0x35f89324 -[_UIObjectArgumentReplacingProxy forwardInvocation:] + 300
6 CoreFoundation 0x34864616 ___forwarding___ + 622
7 CoreFoundation 0x347bbf64 _CF_forwarding_prep_0 + 20
したがって、ファイルの96行目であると想定しています。
これはコードです:
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result {
[self dismissModalViewControllerAnimated:NO]; //take away the SMS screen fast
NSString *sms = controller.body; //**** THIS IS LINE 96
switch (result)
{
case MessageComposeResultCancelled:
//message.text = @"Canceled";
NSLog(@"Result: canceled");
break;
case MessageComposeResultSent: {
NSLog(@"Result: sent %@",sms);
}
break;
case MessageComposeResultFailed:
//message.text = @"Failed";
NSLog(@"Result: failed");
break;
default:
//message.text = @"Not sent";
NSLog(@"Result: not sent");
break;
}
[self.delegate myVCDidFinishWithValue: val];
}
したがって、基本的に、この場合は完全なコードを取り出すだけです。これはもう必要ないからです。
私の質問:
他の問題を確認できるように、AppStore から読み込まれたかのようにアプリをテストする方法はありますか?
それとも、今ギャンブルをして、エラーがなくなることを願っていますか?
ps xCodeを介してアプリをインストールするか、TestFlightを使用してテスターに配布すると、正常に機能しました! Appstore からのみクラッシュします。彼らがコードに何かをしたかどうか、何か考えはありますか?
どうもありがとう!