2016-12-02 8 views
3

xcodebuild xcodebuildユーティリティで署名されたIPAファイルを生成しました。これで私の顧客は署名します。 開発者アカウントで生成された既存のプロビジョニングファイルで署名することは可能ですか? 別の質問として、xcodeに関連するコマンドラインを使ってこれを行うことは可能ですか?署名されていないIPAにはどのように署名しますか?

答えて

2

IPAは単純に.zipアーカイブです。ここでは、証明書の名前を見つけるにはアイデア

IPA=$1 
PROVISION="/path/to/nameOfProfile.mobileprovision" 
CERTIFICATE="iPhone Developer: nameOfCertificate (2472ZKDHVF2A)" # must exist in keychain 
# unzip the ipa 
unzip -q "$IPA" 
# remove the signature 
rm -rf Payload/*.app/_CodeSignature Payload/*.app/CodeResources 
# replace the provision 
cp "$PROVISION" Payload/*.app/embedded.mobileprovision 
#copy existing entitlements to use it for resigning 
cp Payload/*.app//archived-expanded-entitlements.xcent entitlements.plist 
# sign with the new certificate 
/usr/bin/codesign -f -s "$CERTIFICATE" --entitlements "entitlements.plist" Payload/*.app 
# zip it 
zip -qr newIpaName.ipa Payload 
#clean up 
rm -f entitlements.plist 
rm -rf Payload 

を取得するサンプルスクリプトです:

  • オープン「キーチェーンアクセス」
  • 右+証明書をクリックしてください - >「情報を見ます」
  • 「一般名」のコピーと使用
+0

ヒントをお願いします。 CERTIFICATE = "iPhone開発者:nameOfCertificate(2472ZKDHVF2A)" ファイル名 .cerまたは別のものですか? –

+0

更新された回答。 – shallowThought

+0

申し訳ありません..あなたのスクリプトで使用されている "entitlements.plist"リファレンスとは何ですか?特定のファイルや何かを生成する必要がありますか?事前にありがとう.. –

関連する問題