2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

xcodebuild コマンドで CODE_SIGNING_ALLOWED=NO をつけないと署名されることがある (Xcode 10.2 以降っぽい)

Posted at

xcodebuild コマンドで iOS のプロジェクトをビルドする際の話。

発生した問題

Xcode 10.1 を使っていたときは下記のようなコマンドで問題なく動いていた。

xcodebuild clean build \
  -workspace Foo.xcworkspace -scheme Bar -configuration Debug \
  CODE_SIGN_IDENTITY=\"\" CODE_SIGNING_REQUIRED=NO

が、Xcode 11.1 を使うようにしたら、次のようなエラーが発生するようになってしまった。

error: An empty identity is not valid when signing a binary for the product type 'App Extension'. (in target 'Baz' from project 'Foo')

どうやら署名しようとしたものの空の identity は valid ではないということでエラーになってしまう模様。

解決策

以下のように CODE_SIGNING_ALLOWED=NO をつけると Xcode 11.1 でも署名されないようで、ビルドできるようになった。

xcodebuild clean build \
  -workspace Foo.xcworkspace -scheme Bar -configuration Debug \
  CODE_SIGN_IDENTITY=\"\" \
  CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO

備考

Xcode 10.1 の時は問題なくて Xcode 11.1 の時に問題に遭遇した、と書いたが、プロジェクトのコード自体も変化しているので、必ずしも Xcode のバージョンによる差異なのかどうかは確かではない。 が、下記 「参考」 に挙げた事例を見る感じ、Xcode 10.2 から挙動が変わったっぽい。

参考

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?