【審査】LSSupportsOpeningDocumentsInPlace で死ぬ話 その2【iOS】
【審査】Document Based Apps should support either the Document Browser 対応、パーミッション設定だけして出すと死ぬ話【iOS】
前回の問題の関連で、パーミッションを追加して、エミュレータ上で、アプリがクラッシュした原因を突き止めるまでの話
まず、エミュレータのクラッシュダンプの場所がここ
~/Library/Logs/CoreSimulator/xxxxxx/system.log
xxxxx の部分はエミュレーションタイプによるGUID なのだけど、新しいフォルダを選ぶとOK
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Application has LSSupportsOpeningDocumentsInPlace key, but doesn't implement application:openURL:options: on delegate |
丁寧にクラッシュ理由が書いてた。
どうやら application:openURL:options: も実装する必要があるらしい
0 CoreFoundation 0x000000010f404f45 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x000000010d3c3deb objc_exception_throw + 48 2 CoreFoundation 0x000000010f404daa +[NSException raise:format:arguments:] + 106 3 Foundation 0x000000010cbb15ee -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 198 5 UIKit 0x000000010ddc5133 -[UIApplication _applicationOpenURL:payload:] + 729 6 UIKit 0x000000010ddb34c1 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 4430 7 UIKit 0x000000010ddb99c3 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1750 8 UIKit 0x000000010ddb6ba3 -[UIApplication workspaceDidEndTransaction:] + 188 9 FrontBoardServices 0x00000001106a5784 -[FBSSerialQueue _performNext] + 192 10 FrontBoardServices 0x00000001106a5af2 -[FBSSerialQueue _performNextFromRunLoopSource] + 45 11 CoreFoundation 0x000000010f331011 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 12 CoreFoundation 0x000000010f326f3c __CFRunLoopDoSources0 + 556 13 CoreFoundation 0x000000010f3263f3 __CFRunLoopRun + 867 14 CoreFoundation 0x000000010f325e08 CFRunLoopRunSpecific + 488 |
もともと使っていたコードは
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
なのだけど、
- (BOOL)application:(UIApplication *)app openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
要するに、 openURL だけでなく、 handleOpenURL も置き換えないと行けなかったのですね。
Comments