2015年10月28日水曜日

iOS開発再び・・・(iPhone京都勉強会に向けて)

iOS 5.0で開発が止まっていた自前の「抽選くん」アプリがiOS9になってついに動作しなくなりました。ということで復活です。早速

に登録していってきました。そして当日に自前アプリぐらい実機テストできるぐらいにXCode7を使いこなしておかねば!!ってことでゴニョゴニョしてみました。

でもとりあえず来月切れるDeveloper Programの継続をせねば!!

とか書いてたのですが、この記事公開するの忘れてた (^^;
アプリをアップデートするのはまだ少し先にはなりそうです(時間ない〜)。

iOS9になって - シミュレーターで起動するまで


iOS6の時に一度、ARC対応にしたりその時出たエラーは直していました。
それ以降に直すべきところがどこかを説明していきます。なおユーザーインターフェースは古いままで非推奨なので、これは別途作りなおさねば表示の場所がおかしいままです。まぁそれは今回は触れません。あくまで起動するまでです。

とりあえずXCode7 (MacOS 10.11)の環境を整えて

なにも考えずビルドしてみる(回転関連メソッドでエラー)



◯◯ViewController.m 

#if  __IPHONE_OS_VERSION_MAX_ALLOWED < 90000
- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskAll;
}
#else
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskAll;
}
#endif

というように、iOS9以上の場合には、「UIInterfaceOrientationMask」に変更せねばならない。

-fembed-bitcodeエラー



これは、プロジェクトのBuild Options→Enable Bitcodeを「No」にすればよい。watch OSを使わないなら不要。




ここまででシミュレーターでは起動した。

実機で動作させるまで

XCode7からは、実機テスト用のプロビジョニングは不要になった。

Code Signエラー

すでにプロビジョニングの期限がきれていたのでこれの解除が必要。ただ、プロジェクトとターゲットの両方の設定変更が必要。切り替えのやり方に1時間ぐらい悶々とした(XCodeのUI変わりすぎていて)のでメモ。



赤文字でくくった部分をクリックすると選択できました。その左側がターゲットを指定できるサイドメニューを表示するボタンです。

No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=arm64, VALID_ARCHS=armv6 armv7 i386).


というエラーです。

プロジェクトオプションのArchitectures→ArchitecturesとValid Architecturesを比較します。i386とarmv6が入っていたので、これを削除。arm64を追加。



Unable to run command '◯◯' - this target might include its own product.


左サイドメニューのProjectのターゲットアプリを選択して、右サイドメニューのTarget Membershipのチェックが入っていたら外します。


これで無事コンパイルは成功。でも・・・・。

最後の関門?! - App Installation failed


おっと実機にすでに入っているアプリ(テスト用のアプリ)を削除してから、再度実行することです。公式アプリに登録していて、すでに導入している場合にそういったことがありえますね。

動作!!

とはいえ、画面の表示位置がおかしいですね。


という警告がでているように、まだxibを使っているのでそのあたりかも。まぁ、これはおいおい調整するか、UIは作りなおそうかな。。。まっ、とりあえずは動いたってことで!!OK!!

2015年10月29日 @kimipooh






0 件のコメント: