教えていただきたいこと
macOS アプリを開発しています。
Mojaveへのアップデートにより NSCameraUsageDescription
がうまく認識されなくなりました。
そのため、下記のように info.plist にある NSCameraUsageDescription
の value に空白を入れて対応しました。
ただ、同じようにカメラ許可が必要なアプリケーションの info.plist
を拝見したところ、
空文字のままでも問題なく、カメラ許可確認ダイアログが表示され、Mac の設定の Privacy へ追加されました。
さらに、この事象が発生した macOS アプリの NSMicrophoneUsageDescription
は空文字のままでも
マイク許可確認ダイアログが表示できました。
そこで2点教えていただきたいです。
- 同じ記述で違う事象が発生する要因はどのようなものがあるでしょうか?
NSMicrophoneUsageDescription
のような許可設定の value はどのように記載するの推奨 または、一般的でしょうか?
環境
macOS Mojave 10.14.6
Xcode 10.1
Swift 4.2
該当のソースコード
- info.plist
- 修正して正常に起動できるようにした設定:
NSCameraUsageDescription
の value に空白を入れている
<key>NSCameraUsageDescription</key> <string> </string> <key>NSMicrophoneUsageDescription</key> <string></string>
- 起動するとクラッシュする設定:
NSCameraUsageDescription
の value を空文字にする
<key>NSCameraUsageDescription</key> <string></string> <key>NSMicrophoneUsageDescription</key> <string></string>
発生している問題・エラーメッセージ
- 起動しなかった時のクラッシュログ 抜粋
Thread 7 Crashed:: Dispatch queue: com.apple.root.default-qos 0 libsystem_kernel.dylib 0x00007fff7878d016 __abort_with_payload + 10 1 libsystem_kernel.dylib 0x00007fff787885db abort_with_payload_wrapper_internal + 82 2 libsystem_kernel.dylib 0x00007fff7878860d abort_with_payload + 9 3 com.apple.TCC 0x00007fff72f6b091 __CRASHING_DUE_TO_PRIVACY_VIOLATION__ + 163 4 com.apple.TCC 0x00007fff72f6afee __TCCAccessRequest_block_invoke.85 + 629 5 com.apple.TCC 0x00007fff72f6905d __tccd_send_message_block_invoke + 231
参考
あなたの回答
tips
プレビュー