

MacOSのNotarization(公証)の対応で、appファイルにターミナルを使用して、コード署名やruntimeの対応をしたいのですが、これを行うと、appファイルを起動すると、クラッシュして、起動が全くできなくなってしまいます。

Appleに問い合わせたところ、 "com.apple.security.cs.allow-
jit"のentitlementも行わないといけないと返答を頂きました。これを試してみましたが、結果を変わりませんでした。以下のコマンドで確認してみましたが、問題なく実行できているようです。

[code]

    % codesign -d --entitlements :- <app file path>
    
[/code]

ちなみにappファイルへのコード署名やrumtimeなどに関しては以下のコマンドを使用しています。

[code]

    % sudo codesign --force --verify \
        --verbose -s 'Developer ID Application: <team name>' \
        --timestamp -o runtime --entitlements <entitlements file path> \
        <app file path>
    
[/code]

他のdylibに関しては、問題なくコード署名やruntimeの対応ができており、Appleの方にも確認も完了しております。

クラッシュ時に表示されるダイアログには以下のようなものがあります。

[code]

    Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
    Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000
    Exception Note:        EXC_CORPSE_NOTIFY
    
    Termination Signal:    Segmentation fault: 11
    Termination Reason:    Namespace SIGNAL, Code 0xb
    Terminating Process:   exc handler [1749]
    ・・・・
    Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
    0 … mono_arch_create_sdb_trampoline + 122
    1 … mini_get_breakpoint_trampoline + 60
    2 … mono_arch_init + 204
    3 … mini_init + 850
    4 … mono_main + 5555
    5 … xamarin_main + 1182
    6 … main + 36
    7 … start + 1
    ・・・・
    
[/code]

なぜ、クラッシュしてしまうのかわかりますでしょうか？原因と修正方法を教えて頂ければと思います


CC BY-SA 4.0
2020-03-09T09:12:17.803
63693
2020-03-11T00:40:17.593
2020-03-11T00:40:17.593
3060
38145
question
macos
"com.apple.security.cs.allow-jit" entitlement を付与すると、Appファイルがクラッシュする