19

ビルド設定 (Xcode 4.2.1) で資格とコード署名 ID を指定すると、Xcode からビルドすると次の出力が得られます。

ProcessProductPackaging "myAppName.entitlements" "/path/to/myAppName.xcent"
cd /path/to/myAppName/SourceCode
builtin-productPackagingUtility "/path/to/myAppName/SourceCode/myAppName.entitlements" -entitlements -format xml -o "/path/to/myAppName.xcent"


CodeSign "/path/to/Garfields Comic Boom 1.0.app"
cd /path/to/myAppName/SourceCode
setenv CODESIGN_ALLOCATE /Developer/usr/bin/codesign_allocate
/usr/bin/codesign --force --sign "myCertificate" --entitlements "/path/to/myAppName.xcent" "/path/to/myAppName.app"

Xcode のビルド中ではなく、ビルドの最後にアプリ フォルダーに署名したいと考えています。

私の問題は、コマンド ラインで xcent ファイルを生成する方法がわからないことです。

質問 : コマンド ラインで xcent ファイルを生成するにはどうすればよいですか? ルートから検索を行いましたが、productPackagingUtility と呼ばれるものはありません...

4

3 に答える 3

3

Xcode のビルド中ではなく、ビルドの最後にアプリ フォルダーに署名したいと考えています。

デバイス ビルドのコード署名を無効にすると、IIRC の最近のバージョンの Xcode で問題が発生します。

これを回避する最も簡単な方法は、Xcode に署名させてから、後で再署名することです。歩数はおおよそ

  1. 元の資格をダンプしますcodesign -d --entitlements=MyApp.xcent MyApp.app
  2. プロビジョニング プロファイルを変更する場合は、新しいプロファイルをコピーして、MyApp.app/embedded.mobileprovisionそれに応じて権限を変更します (IIRC のファイル形式には 4 バイトのマジックと 4 バイトの長さがあります。長さを更新することを忘れないでください!)。
  3. 希望する証明書で再署名します。
于 2013-03-09T03:05:12.257 に答える
0

codesign ユーティリティを使用する場合、xcent ファイルは必要ありません。単純に plist ファイルを作成し、それを資格に使用できます。バイナリではなく、XML plist であることを確認してください。

于 2013-01-03T02:56:14.897 に答える