ipa 書き出し時の「Failed to verify bitcode in ...」というエラーの解決法について


エラーについての情報が少なかったので投稿

概要

Carthage で Framework をいくつか追加していて、
いざ ipa を書き出そうとしたら、こういうエラーが出た

An error occurred during export

Failed to verify bitcode in *****.framework/
Neptune:
error: Clang option verification for bitcode 01
(unrecognized arguments: -disable-llvm-passes)

-disable-llvm-passes の部分は、Framework によって arm64 とか書いてたりした

ipa 書き出せないのすごい困った

解決法

1. Carthage で追加した Framework を消して、Cocoapods で入れる

エラーが表示された Framework を Cocoapods に置き換えて試したところ、
別の Framework のエラーが表示されたので
多分効果ある

多分、と言ってるのは、
自分の場合、1つだけ Cocoapods に置き換えらない Framework があって
最後まで試せなかったため

2. Xcode8 ではなく Xcode9 で ipa を Archive/Export する

Xcode8 と Xcode9 を両方インストールして、諸事情で Xcode8 で開発を続けてたけど
Xcode9 で書き出してみたら通った

これで Carthage を Cocoapods に書き換える作業が全部いらなくなった

3. その他

Balto開発で得たiOSのSDK開発の知見 on @Qiita
https://qiita.com/HirokiTerashima/items/a94f9720b02b7861f48f

わからん