強火で進め

このブログではプログラム関連の記事を中心に書いてます。

AdHoc配布版のアプリが正しく動作しないときに試す価値の有ること

自分がハマってそして、解決したので書いときます。

それは「始めから作り直してみる」です。
ちょ、ちょ、ちょっと待ってブラウザ閉じないでw こいつ、すごく当たり前のことですがかなり重要です。

自分も正しく動作しないときに「ちゃんとAdHoc用のプロビジョニングプロファイルを選択しているか」「Entitlementsファイルは作成され、使用する設定になっているか」「SDKはシミュレータ向けではなくiPhone向けを選択しているか」など一通りのチェックすべきところはすべてチェックして問題が無い事を確認したのです。

しかし、正しく動作しない。しかも症状はiTunesで転送するときに転送エラーの表示が出て表示内容はUnkown errorでエラーコードが 0xE8008001 や 0xE8008017 と記載して有るだけ(なんで、転送エラーとなってリトライしたみただけなのに最初のとエラーコード違うのw)という原因を特定するのが極めて困難なメッセージでした。

「うーん、AdHoc転送がダメダメです」などとTwitterでつぶやいてさてどうしたものかと思っていたら「ゴミが残ってる系では?」との指摘を貰い、そういえば通常のアプリを作成したときも転送に失敗し始めたときにアプリ名を変えたら転送成功した事があったのでもしやと思いアプリ名を変えてビルド、iTunesから転送としたところバッチリ正常に動作しました。

おそらくホーム上のアイコンなど表面的には正しく削除されているにも関わらず内部的にはアプリの一部のファイルなどがゴミとして残っていてそれが新たに同名のアプリをインストールしたときなどにファイル名のバッティングなどの問題を起こしているのでは?などと思っています(あくまで推測ですが)。

今回、自分はアプリ名の変更だけで対応しましたがアプリ名の変更もいろいろ変更しないといけない箇所があるので慣れてない場合には「始めから作り直してみる(アプリ名は今までインストールした事が無い名前を付ける)」で対応した方がてっとり速いかと思います。

AdHoc用のアプリが正しく動作しない場合はもまずは基本的な設定が間違ってないかチェックするのが重要ですが一通りチェックしても改善しない場合はこういう方法も試してみる価値は有るかと思いますよ。