ファイルプロバイダー拡張子を使用して、macOS Big Sur 11.2.2 で Xcode 12.5 Beta 3 を使用してベアボーンアプリを構築しようとしています。Xcode のベータ版を使用するのは、以前のバージョンではファイル プロバイダー拡張機能のテンプレートが提供されていないためです ( GitHub のサンプル プロジェクト)。
アプリとその拡張機能には、資格に設定された共通のアプリ グループがあり、私の個人チームと開発証明書で自動的に署名されます。
アプリと拡張機能をビルドして実行しました。しかし、私の知る限り、システム次第なので、いつロード (アン) されるかを制御できるようになりました。
観察
- ファイル プロバイダーの拡張子は、システム設定に表示されません。
- コンソール アプリは、アプリケーションが管理されているかどうかを確認する "lsd (LaunchServices)" を除いて、個別のプロジェクト名で意味のある情報を提供しません。
- 拡張機能は、アクティビティ モニターに表示されません。
- Pluginkit は拡張機能が見つかったことを報告しますが、先頭に感嘆符を追加します (実行時
pluginkit -vvvvmi SomeOrganization.SomeProduct.SomeProvider
)。
$ pluginkit -vvvvmi SomeOrganization.SomeProduct.SomeProvider
! SomeOrganization.SomeProduct.SomeProvider(1.0)
Path = /Users/peter/Library/Developer/Xcode/DerivedData/SomeProduct-gyyunhpcbweleidtluxpslpciwjj/Build/Products/Debug/SomeProduct.app/Contents/PlugIns/SomeProvider.appex
UUID = E2FDC7AB-3CDD-4AEE-A2B2-CC2BA0CBC409
Timestamp = 2021-03-09 16:49:57 +0000
SDK = com.apple.fileprovider-nonui
Parent Bundle = /Users/peter/Library/Developer/Xcode/DerivedData/SomeProduct-gyyunhpcbweleidtluxpslpciwjj/Build/Products/Debug/SomeProduct.app
Display Name = SomeProvider
Short Name = SomeProvider
Parent Name = SomeProduct
(1 plug-in)
- サブシステムでシステム コンソールをフィルタリングすると
com.apple.FileProvider
、拡張機能をビルドした後にこれらのメッセージに出くわしました (この回答で説明されているように、プライベートな値を明らかにする必要がありました)。
[ERROR] could not load the domain properties
[WARNING] found directory with no domain plist in it: ~/L{5}y/A{17}t/F{10}r/S{26}t.SomeProvider
とについて他に 2 つありますがPhotosFileProvider
、com.apple.CloudDocs.MobileDocumentsFileProvider
これは (私が推測するに) 無関係です。はPhotosFileProvider
同じ警告を報告します。上記のパスは次のように展開できます。
~/Library/Application Support/FileProvider/SomeOrganization.SomeProduct.SomeProvider
Domains.plist
この(バイナリ)コンテンツを含む:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSFileProviderDomainDefaultIdentifier</key>
<dict>
<key>Connected</key>
<false/>
<key>Enabled</key>
<false/>
</dict>
</dict>
</plist>
問題
感嘆符の意味や実際の問題を見つける方法については何も見つかりませんでした。どうすればこれをデバッグできますか? コンソールのエラーが不審に突き出ています。ハウツーの秘密のステップのように、ドキュメントには記載されていないパズルのピースが欠けているように見えます。
参考までに: Apple Developer Forums での私の質問。