別の会社向けのアプリを作成しています。彼らは署名鍵を保持しており、それを私たちと共有したくありません.
ビルドと署名は分けられるはずなのですが、xcodebuild のコマンドラインでどのように指定すればよいのでしょうか?
コード署名をスキップするには、次のようにコンソールから手動ビルドを実行できます。
xcodebuild clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO
さらに、およびパラメータを使用して-configuration
、-target
ビルド-sdk
設定を定義します。
Xcode 内でコード署名を無効にする方法の詳細については、このスタック オーバーフローの回答を参照してください。
Xcode 7 でのコード署名を完全に防ぐために、次のオプションをすべて使用しました。
CODE_SIGN_IDENTITY=""
CODE_SIGNING_REQUIRED="NO"
CODE_SIGN_ENTITLEMENTS=""
CODE_SIGNING_ALLOWED="NO"
最後のオプションは、CODE_SIGNING_ALLOWED="NO"
うまくいったようです。
残念ながら、コード署名なしでリリース モードでアプリをビルドするのは難しい場合があります。次のようなビルド システムからのエラーが表示されます。
CodeSign error: code signing is required for product type 'Application' in SDK
'iOS 5.1'
この場合、リリース モードで開発者/チームのワイルドカード (*) 署名 ID を使用するようにターゲットを構成する必要があります。アプリはビルド時に署名され、顧客が辞退できるように出荷できます。これは、当社の外注開発者のほとんどが行っていることです。
_CodeSignature
次に、アプリ内のさまざまなファイルを削除し、ツールを使用しcodesign
てアプリケーション バイナリから情報を削除することで、コード署名情報を削除できる場合があります。しかし、それがどれほど簡単かはわかりません。しかし、それは本当に不可欠ではありません。プロビジョニング プロファイルまたは署名情報に機密情報はありません。
Project Navigator でプロジェクトを選択し、プロジェクトの [Build Settings] セクションを開きます (特定のターゲットではありません)。
「Code Signing」の下で「Code Signing Identity」を見つけ、デバッグモードとリリースモードの両方で「Any iOS SDK」を「Don't Code Sign」に設定します。