問題タブ [security-scoped-bookmarks]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - セキュリティ スコープ ブックマーク - ブックマークは解決されますが、ファイルにアクセスできません
編集:下部に追加された追加情報
ユーザーが選択した QuickTime ムービーを AVPlayer にロードするサンドボックス化されたドキュメント ベースのアプリケーションがあり、すべてが完全に機能していました。
現在、コードをアップグレードして、URL 文字列を保存するだけでなく、Security Scoped ブックマークを使用して URL を取得し、アプリケーションの再起動時に永続ストアがムービーをロードできるようにします。ブックマークが作成されると、管理対象オブジェクトのデータ変数に保存されます。
何らかの理由で、これにより AVPlayer が壊れてしまいました。ユーザーが選択した URL からブックマークを作成し、アプリケーションの再起動時にブックマークから URL を解決できますが、ムービーが AVPlayer に正しく読み込まれず、理由がわかりません...確認済みですブックマークから解決される URL がムービー ファイルを指していること。
また、適切な資格をプロジェクトに追加しました。
これが私のコードです:
ユーザーがロードするムービーを選択してブックマークを作成する機能
ブックマークをURLに解決して動画を読み込む機能
私は Security-Scoped Bookmarks を初めて使用するので、以前にそれらを使用したことがある人にはこれが明らかであることを願っています。
問題があるかどうか疑問に思っています:
おそらく私はこれを間違って呼んでいますか?ときどき、Apple のドキュメントが曖昧でわかりにくいことがあります... 洞察をいただければ幸いです。
編集:
原因は分かっていると思いますが、直し方がわかりません...
常に FALSE を返します...ドキュメントごとに、それが機能していないことを意味します。さらに、ムービー ファイルがデスクトップにある間、解決された URL が次のように表示されます (これは正常な場合もありますが、わかりません)。
file:///Users/me/Library/Containers/myapp/Data/Desktop/sample_on_desktop.mov
Apple ドキュメントは、Document Scope がシステム内のファイル (別名 "/Library") を使用できないという事実を参照していますが、私の資格はアプリケーション スコープのブックマークを使用するように設定されており、私のブックマークは relativeURL の nil フラグを使用して作成されました: これは問題にならないはずです。