3

Xcode 4.6、10.8.2 を使用しています。

エクスポート プロセスの一環として、Xcode 内から自分の Cocoa アプリをコード署名すると、実際に何がコード署名されますか? 実行ファイルだけですか?

署名後、バンドルの Resources フォルダー内のファイルを安全に変更できますか?

ありがとう。

[編集]

OK、以下のアドバイスのおかげで、これが私がやっていることです...

ResourceRules.plistをプロジェクトに追加します (必要に応じて各ターゲットに 1 つ)。

コード署名したくないファイルまたはディレクトリごとに 1 つずつ、"Omit" キーと値のペアのリストを ResourceRules.plist に入力します。オンラインのどこかから plist 構造をコピーします。

ターゲットのビルド設定で、「コード署名リソース ルール パス」の下に、文字列「ResourceRules.plist」を追加します (引用符なし)。

「製品」→「アーカイブ」を選択

オーガナイザー ウィンドウで、[配布] をクリックします。

「開発者 ID 署名済みアプリケーションのエクスポート」を選択します

開発者 ID を使用してコード署名を行う

結果のアプリバンドルを Finder で開き、必要に応じてファイルを変更します

ターミナルでアプリをテストします。

codesign -vv myApp

(これにより、コード署名されたファイルが欠落しているか、追加されているかがわかります。)

4

1 に答える 1

4

実行ファイルだけですか?

実行可能ファイルは実際には、コード署名情報 (ハッシュと場合によっては資格ファイル) を含むように変更されますが_CodeSignature、アプリ内のすべてのファイルのハッシュを含むコード署名ディレクトリ ( ) もアプリ バンドルに追加されます。

署名後、バンドルの Resources フォルダー内のファイルを安全に変更できますか?

いいえ。

または、実際には、コード署名の作成に使用するファイルを記述した Resources ファイルを使用する場合、特定のファイルを除外して、後でそれらを変更しても有効なコード署名を保持できます。

于 2013-02-21T05:46:09.230 に答える