ここ数日間はblogに勤しんでいる時間があるならタスクを消化しないといけない状況、だったりしますが日が空くほどに過疎化が進むのでちょっとした小ネタを投稿してみるテスト。
iPhone/iPadというiOS関連についてDocomoからLTE対応のiPhone5がでるんぢゃない?的な情報源の怪しい噂が飛び交ったりと今年1年間もiOSに関しては激動の1年となることが既に見えているような。当然一般世間からの注目度が上昇し、iOSとしてのアプリ開発も多くなるでしょう。iOSアプリを実機に転送するには以下の3つが必要です。
- アプリケーションファイル転送ツール (Xcode – オーガナイズ, iPhone構成ユーティリティ, iTunes)
- アプリケーション(バイナリ)ファイル (.app / .ipa)
- プロビジョニングプロファイル (.mobileprovisioning)
開発者であれば上記を使って転送すれば良いことはもちろん自明でしょうが、作成依頼主にアプリケーションの監修を行う場合など、3つの条件ですら原因不明の転送エラーが起きるというシナリオは付き物です(開発者でも困惑することはしばしば有るのですけどね)。
転送の際に起きるエラーの主な原因は多分以下の通りです。
- 転送先のデバイスIDが正しく登録されたプロビジョニングファイルを使用してCodeSigningを行われていない (Xcode3の場合の対処法はこちら)
- Windowsからアプリケーションバイナリを転送する場合に発生する場合が多いようですが、アプリケーションバイナリが破損している
私自身でまだ詳細を調べていないのですが、.appファイル(フォルダ)をWindowsに転送すると何かが抜けているのかエラーが発生します。なので、個人的に.appファイルを直接相手に送付するのは避けた方がいいのでは派で(.app内にsymlinkがあるし)。となると、ほかの形式はipaファイルと呼ばれる形式が実機転送可能です。で、.app→.ipa変換のネタに繋がると。
★ ipaファイルの作成方法
- Xcodeでビルドが完了すると $(PROJECT_DIR)/build/Release-iphoneos/xxxxx.app が作成されます
- .appファイルと同位置に”Payload”フォルダを作成します
- .appファイルを”Payload”にコピーします
- Mac標準の圧縮でxxxxx.zipを作成します
- 拡張子を.zipから.ipaに変更します
という、Payloadフォルダの殻が増えてZIP圧縮されただけ、なものが.ipaになります(※ もっと違いがあるようなのですが、ここではアプリケーションバイナリ転送に必要最小限の関係事項に抑えています)。後はiPhone構成ユーティリティでプロビジョニングのライブラリ追加、アプリケーションバイナリの登録、最後にその2つの実機へのインストールを行えばWindowsでも安全に転送することができるハズです。
時間があれば画像・・・・追加するカモ。文字だけだと説得力無いわ・・・・。