質問
アドホック ビルドを配布しようとしていますが、問題が発生し始めています。1 週間ほど前までは正常に動作していましたが、現在は同期しようとすると 0x8008017 エラーが発生します。
iPhone 構成ユーティリティを使用して問題を絞り込んだところ、エラーの原因が失敗したコード サインにあるようであることがわかりました。codesign -vvvv myApp.app を実行したところ、ヘルプ ドキュメント (アプリ リソース フォルダーから) に不足しているリソースが大量にリストされます。欠落している各リソースが ._ で始まるので、私のインデックス ページの場合は次のようになります。
01 - インデックス.html
コードデザインでは次のことも期待されています。._01 - インデックス.html
(当然のことですが) 既存のファイルもリストされていますが、すべての ._file がアプリに含まれていないため、失敗します。
プロジェクト ディレクトリを調べてみましたが、._ で始まるファイルが見つからないため、コード設計者がこれらのファイル名をどこから取得しているのかわかりませんが、クリーンまたは Xcode の再起動後、すべてのビルドに含まれています。
問題を引き起こしているリソースはすべて、週の初めに古いリソースにコピーした最近更新されたファイルです。これと何か関係があるのでしょうか?
助けていただければ幸いです
解決
必ず次のいずれかを実行してください。
- Xcode ファイルのコピー フェーズを使用してこれらのファイルをコピーします。デフォルトで正しいことを実行する必要があります。または
- リソースフォークを除外し、
._*
スクリプトを使用してファイルをコピーする場合、または - 必ず HFS ボリューム上に構築してください (ここで、
._*
ファイルはリソース フォークに対して生成されません)。
あなたのパーティションタイプは、元のファイルの一部としてではなく、バンドル内の別個のファイルとして署名されているリソースフォークファイルを生成しているようです(これは悪いことです)。そして、それらはコピーされません (Finder zip 圧縮を使用すると、それらは削除され、Zip ファイルの別の部分 (IIRC) に保管されます)、これもまた問題があります。それらをバンドルに含めることは避けてください。そうすれば、署名されず、この混乱を回避する必要がなくなります:)