LoginSignup
6
4

More than 5 years have passed since last update.

ライブラリのInfo.plistが原因で遭遇したiTunesConnectアップロードエラー

Posted at

LGTMのiOS版のストア申請でハマったので共有しておきます。

ITMS-90060 (RxSwift)

ERROR ITMS-90060: "This bundle is invalid.  The value
for key CFBundleShortVersionString '3.0.0-beta.1' in
the Info.plist file must be a period-separated list of
at most three non-negative integers."

ITMS-90056 (Async)

ERROR ITMS-90056: "This bundle Payload/LGTM.app/Frameworks
/Async.framework is invalid. The Info.plist file is missing
the required key: CFBundleVersion."

workaround

$ cat scripts/fix-lib-version-strings-if-needed.sh
#!/bin/bash
major=${1:?}
minor=${2:?}
name=${3:?}
for i in `find Carthage/Checkouts/${name} -name "*.plist"`; do
    plutil -replace 'CFBundleShortVersionString' -string ${major} "$i"
    plutil -replace 'CFBundleVersion' -string ${minor} "$i"
done;
$ ./scripts/fix-lib-version-strings-if-needed.sh 3.0.0 1 RxSwift

Solutions

解説

Info.plistのバージョン設定がおかしいライブラリがあったせいで、エラーになりました。
Info.plistをplutilコマンドでいじって申請は通しました。
RxSwiftに関してはbeta版なんだからストアに申請すんなというスタンスのようで、AsyncはCarthageでビルドした場合だけおかしくなる状態だったため、PRを出しました。
各ライブラリがSwift3.0対応などを進めている過程で、色々不安定になっているようです。

こういう場合、CocoaPodsはPodfileにスクリプトを書く形で回避できるようですが、Carthageは今の所別途上のようなスクリプトを実行する必要がありそうです。

6
4
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
6
4