申請時にInvalid Toolchainと言われたら

Invalid Toolchain. New apps and app updates must be built with the public (GM) versions of Xcode 6 or later, and iOS 8 SDK or later. Don’t submit apps built with beta software.

と言われてしまった。 ベータソフトウェアでビルドしたアプリを出すな!っていうことで、なんのことはない、ベータソフトウェアってシステムの事なんですね。 OS X El Capitan 10.11.1 Beta のことなんですね。 っていうか、こっちはOS X アプリもやってんだ、と。 できるんだろうけど正式ビルドに戻せるかって話であります。

そういうときは、ビルドしたアーカイブの中身を編集すれば、通るようになります。 アーカイブの中のアプリ本体の中のInfo.plistの中に、どんなバージョンのシステムでビルドを行ったかの記述がありますので、正式版のビルド番号に書き換える、と。

Xcode > Product > Archive としてアーカイブを作成すると、ダイアログがでます。 ダイアログっていうかウインドウですか。

そこに現在のを含む、これまでのアーカイブ一覧が出まして、その一番上が現在こさえたアーカイブです。 これを右クリックでメニューを出して、Show in Finder して Finder で表示します。 xcarchive っていう拡張子のファイルがアーカイブファイルです。

このアーカイブファイルはパッケージになってますので、これまた右クリックで「パッケージの内容を表示」します。 ここから

hoge.xcarchive > Products > Applications とさがっていくと、アプリケーションファイルがあります。 これをまたもや右クリックして「パッケージの内容を表示」。

hoge.app > Info.plist をXcodeで開きます。 ここまでのパスは

hoge.xcarchive/Products/Applications/hoge.app/Info.plist

こうです。 アプリケーションパッケージを開いたら、キーボードで「in」とタイプし(ウインドウ内検索ですね)、cmd + o で開くのが手っ取り早いです。

すると BuildMachineOSBuild っていう項目がありますので、これを正式版システムのビルド番号に編集します。 私は Yosemite のそれにしているので(El Capitan 10.11 のビルド番号が上記理由でわからない)、

14F27

に書き換えます。 そして保存。 これで作業完了。 このまま Xcode でアップロードをしてもいいのかも知れないのですけど、なんか別の通信エラー的なものが出たり出なかったりで信用ならないので、私の場合は Application Loader 2.9.1 を使ってアップロードします。 同 3.1.0 でもなんかエラー出ちゃうことがあったりなので、iTunes Connect では推奨されていないながらも 2.9.1 でアップロード。 エラーが出る確率はかなり低いです。

そんなこんな。