2017-11-25 4 views
1

iOS対応のApp ExtensionでXamarinフォームアプリを構築しようとしています。私の溶液構造は、このようなものです:Xamarin.iOSアプリがMonoランタイムの不足でクラッシュする。適切な画像が見つかりませんでした。コード署名がブロックされていますmmap

MyProject 
    \BitThicket.MyProject     -- Forms project 
    \BitThicket.MyProject.Core    -- NET Standard 2.0 class library 
    \BitThicket.MyProject.iOS    -- iOS project 
    \BitThicket.MyProject.Extensions.Intents -- Intents project 

各プロジェクトは、テンプレートから作成された、と私はいくつかの変更を加えました - とクラッシュは、起動時に起こるので、私のコードのどれもがとにかく達していません。

私はiOS 11.1をターゲットにしており、有効な署名証明書とプロビジョニングプロファイルが設定されています。私は、アプリケーションをビルドし、Mac用のVisual Studio(7.2.2)からデバイス(私のiPhone 7+)に展開することができます。しかし、デバッガが私のためにアプリを起動しようとすると、空白のスプラッシュビューが表示され、アプリがクラッシュします。デバッガは決して接続しません。ちなみに、アプリケーションがデバイスで手動で起動されたときと同じ方法でクラッシュします。

私はXcodeのを使用してデバイスのログを取得し、クラッシュは次のようになります。

Incident Identifier: 948709A2-74AA-4E16-BEEA-072CFCF4AB38 
CrashReporter Key: ###################################### 
Hardware Model:  iPhone9,2 
Process:    BitThicket.Turns.iOS [2457] 
Path:    /private/var/containers/Bundle/Application/#####-##############-############/BitThicket.Turns.iOS.app/BitThicket.Turns.iOS 
Identifier:   com.bitthicket.Turns 
Version:    1.0 (1.0) 
Code Type:   ARM-64 (Native) 
Role:    Foreground 
Parent Process:  launchd [1] 
Coalition:   com.bitthicket.Turns [818] 


Date/Time:   2017-11-24 09:41:15.3743 -0600 
Launch Time:   2017-11-24 09:41:15.3041 -0600 
OS Version:   iPhone OS 11.1.2 (15B202) 
Baseband Version: 3.21.01 
Report Version:  104 

Exception Type: EXC_CRASH (SIGABRT) 
Exception Codes: 0x0000000000000000, 0x0000000000000000 
Exception Note: EXC_CORPSE_NOTIFY 
Termination Description: DYLD, Library not loaded: @rpath/Mono.framework/Mono | Referenced from: /var/containers/Bundle/Application/########-####-####-####-############/BitThicket.Turns.iOS.app/BitThicket.Turns.iOS | Reason: no suitable image found. Did find: | /private/var/containers/Bundle/Application/########-####-####-####-############/BitThicket.Turns.iOS.app/Frameworks/Mono.framework/Mono: code signing blocked mmap() of '/private/var/containers/Bundle/Application/########-####-####-####-############/BitThicket.Turns.iOS.app/Frameworks/Mono.framework/Mono' 
Triggered by Thread: 0 

Filtered syslog: 
None found 

Thread 0 Crashed: 
0 dyld       0x0000000106722f1c __abort_with_payload + 8 
1 dyld       0x00000001067226f4 abort_with_payload_wrapper_internal + 100 
2 dyld       0x0000000106722720 fcntl + 0 
3 dyld       0x00000001066f8498 dyld::fastBindLazySymbol+ 17560 (ImageLoader**, unsigned long) + 0 
4 dyld       0x00000001066fb714 dyld::_main+ 30484 (macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*) + 7376 
5 dyld       0x00000001066f521c _dyld_start + 68 

Thread 0 crashed with ARM Thread State (64-bit): 
    x0: 0x0000000000000006 x1: 0x0000000000000001 x2: 0x000000016d50a470 x3: 0x00000000000000a5 
    x4: 0x000000016d50a070 x5: 0x0000000000000000 x6: 0x0000000000000000 x7: 0x00000000000002f0 
    x8: 0x0000000000000020 x9: 0x0000000000000009 x10: 0x6f6e6f4d2f736b72 x11: 0x6f77656d6172662e 
    x12: 0x726f77656d617246 x13: 0x2e6f6e6f4d2f736b x14: 0x726f77656d617266 x15: 0x00276f6e6f4d2f6b 
    x16: 0x0000000000000209 x17: 0x000000008000001f x18: 0x0000000000000000 x19: 0x0000000000000000 
    x20: 0x000000016d50a070 x21: 0x00000000000000a5 x22: 0x000000016d50a470 x23: 0x0000000000000001 
    x24: 0x0000000000000006 x25: 0x00000001028f4000 x26: 0x0000000106736000 x27: 0x0000000106735f88 
    x28: 0x000000016d50ba70 fp: 0x000000016d50a040 lr: 0x00000001067226f4 
    sp: 0x000000016d50a000 pc: 0x0000000106722f1c cpsr: 0x00000000 

Binary Images: 
0x1028f4000 - 0x103e43fff BitThicket.Turns.iOS arm64 <###########################> /var/containers/Bundle/Application/########-####-####-####-############/BitThicket.Turns.iOS.app/BitThicket.Turns.iOS 
0x1066f4000 - 0x106733fff dyld arm64 <##########################> /usr/lib/dyld 

EOF 

誰もがこれの原因を知っていますか? Xamarinフォーラムや他の場所(残念なことにSOを含む)には多くの直接的な回答はないようです。私はVisual Studio for Macを再起動したり、デバイスからアプリケーションを削除したり、ソリューションをクリーン/再構築したりするなど、シンプルなものをいくつか試しましたが、そのようなことは役に立たないようです。

終端の説明では、モノラルを読み込もうとしたようですが、mmapは何らかの形でコード署名によってブロックされていましたが、どういうわけか実際にはわかりません。アプリがビルドして自分の端末にデプロイするので、コード署名が機能しているようです。

答えて

1

もう少し掘り下げた後、同様のように見える問題の例がいくつか見つかりました。最も一般的なアプローチは、署名証明書が正しく構成されていなかったようです。私は根本的な理由、なぜその理由の背後にある「なぜ」についてまだ不思議です。

最終的に「システム」の「ログイン」キーチェーンに「アップルワールドワイドデベロッパーリレーションシップ認証局」があり、「常に信頼する」ように設定されていることがわかりました私の「ログイン」キーチェーンにのみあり、「システムデフォルト」のために設定されています。

これらの問題を修正すると、もう一度試しましたが、問題はまだありました。私のマックをリブートした後、ついに消えました。

+0

これは私のアプリで自動サインインを使用した後に起こりました。再起動(そして、必要であればわかりませんが、きれいです)がビジネスをしました! :) – WickedW

関連する問題