スポンサーサイト

--/--/--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
comment (-) @ スポンサー広告

[XCODE 7 & iOS9] iOS9でのリジェクトと、XCODE7&iOS9対応

2015/09/17
9/16
まだiOS9が公開されてもいないのに、
「iOS9で動かないから」という理由で、
アップデート申請中だったゲームがリジェクトされた。
ひどい話だ・・・。

しかしAPPLEとはそういう会社だと割り切って、
仕方なくiOS9と、XCODE7をいれる。

以前のプロジェクトを開くと、
Swiftコードを修正しますか、と聞かれるのでOKとすると、
10分くらい修正されるが、
ようやく終わってコンパイルしてみると、
修正とやらが全く無意味だったのではと思うくらいエラーと警告が吐き出される。

とりあえずXCODE7のswift2.0で大きく変わったのは、
個人的には、

1、Varによる宣言が厳しく取り締まられるようになったこと。
 変更のない変数宣言はLetにしろと怒られる。

2、optionalの仕様が少しかわったらしいこと。
 さらに面倒になった

ことが嫌だ。

他にも、
一部のメソッドが使用不可になっていたり、型が変わっていたりと、
もうたくさんありすぎて、おぼえていないが、とにかく一個一個地道に修正していく。

あとXCODE7になって、スナップショットが消えたのが
個人的には一番つらい。


そしてようやくコンパイルが通り、実機で動かせるようになると、
今度は画面がけっこう崩れていることに気づく。


どうも、SpriteKitのzPositionの初期値や、SKLabelNodeのVertical初期値などが若干変わっているようだ。
なんでそんなところを変えてくるのか意味不明だが、仕方ないので修正する。

HTTPSに関してはすでにネット上で色々いわれているので、Plistに例外を指定。

Info.plist
 > NSAppTransportSecurity(Dictionary型)
  > NSExceptionDomains(Dictionary型)
   > test.com (Dictionary型) ← ドメイン
    > NSTemporaryExceptionAllowsInsecureHTTPLoads (Boolean型) → YES


これでHTTPでもアクセス可能になる。


ようやくひと段落ついたかなと思った頃に、
なにやらずっとLogに吐き出されている文字にようやく意識がむく。
気づいてはいたが、見て見ぬふりをしていたんだけど、そろそろ見てみる。

_BSMachError
とか
CAMetaLayerうんたら
とか、
warning
とか
かつてはなかったようなログが大量に吐き出されている。

どうも実機で動かした時だけ吐き出されるログのようだ。

ネットで検索しても、英語圏の記事が5件ほどしか出てこない

この世にXode7やSwift2.0を実戦的に使っている人間はほとんどいないんじゃないかと不安になるレベル。

その5件の記事を翻訳しながら読んでみても、
どうも解決できないと外人さんも言っているようなので、
私もあきらめて放置することにした。

そしていよいよアーカイブ化しようとした時、
ちょっと気になってStoryBoardを見てみると、
StoryBoardを開いた途端、
警告が50個くらい出現する。


なにやらAutoLayoutが微妙にくずれている。

なんで・・・???

全く意味不明だが、仕方ないので、全部手作業で修正。

しかし、iAdのad bunnar のサイズだけが
Frame for "iad main" will be different at run time.
と出て、消えない。

中を展開すると、
Height will be 32 at run time but is 66 in the canvas.

何度見ても、ボード上のサイズも指定も32なんだが・・・
当然、レイアウトを配置しなおしても消えない。
というかiADのバナーのサイズは2種類限定のはずで、
なぜ66などという数字が出てくるのか意味不明。

もういやになって、これも放置してやった
シミュレーターで見る限りは見た目に問題はない。


そして、いよいよ
アーカイブ化。

ところが、

The resulting API analysis file is too large. We were unable to validate your API usage prior to delivery. This is just an informational message

という警告が
アーカイブ時に出現。

初めて見た。

どうもアーカイブのサイズがでか過ぎるらしい。

色々調べてみると、
たしかにアーカイブのサイズが160MBを超えている。
なんでや!!!!
元来は51MBくらいのサイズのはず・・・。

XCODE6アップデートの際もにたようなことがあった、という記事を発見。

警告を無視してそのままsubmitしたら、App Storeでは正常なサイズになっていた、と書かれていた。

不安ながらも、きっと無視して大丈夫・・・と信じつつアップロード。

はい、ビルドに表示されません。


今日は早朝から夜の11時までずっと奮闘していたので、
そろそろ精神的にも限界。

しかしそれでももう少しねばって、
プロジェクトやフォルダの中を調べたり、無駄なフォルダを削除してみたり、
色々消してみたり、
それでもやっぱり何度やってもアーカイブのサイズは161MBのまま。
へんな警告は残り続けてるし・・・。

Snap shotがないせいで、元に戻るのが難しいし・・・。

もういやじゃぁあああああああ

ちなみに、同じverでアーカイブ化したものをアップロードすると、
すでにアップロードされています、とエラーが出る。

すなわち、警告はでているものの、アップロードは成功しているということになる。
しかし、ビルドにはなぜか表示されない。

これはもはやAPPLEのいじめに違いない。


そして3、4回目くらいのアーカイブアップロードの時、
iTunes connectのビルドに、
1番最初にアップロードしたアーカイブが表示される。

・・・・・・


要するに、すごいラグがあるということなのだろうか。
ちなみに、そのアップロードからはすでに2時間くらいが経過している。

ネットには、5分くらい待たないとビルドに表示されないことがあるから注意してね♪
とはあったが、
2時間などという数字はどこにも書かれていない。

しかし実際、2時間待ってようやく表示されている始末。


ということは、最後にアーカイブ化してアップロードしたものは、いまから
2時間くらい経過すれば、表示されるのかもしれない。

あるいは、このXCODEのver跨ぎによって発生するアーカイブのサイズの巨大化は、
巨大化したアーカイブをアップロード後にitunes connect側で何か、適正なサイズに作成しなおしているのかもしれない。
そのせいで、ビルドへの更新がこれほどに遅れているのでは。

だとすると、XCODEからitunes connectまで含めてお粗末な構成だとしか言いようがない。
というか全てを振り返ってみて、
なんとも稚拙で乱暴なアップデートである。

ネット上の過去の記事などをみれば、こうしたアップデートが今までに何度も行われていることかわかる。
そのたびに、デベロッパー達はくるしんできたようだ。

Micrsoftならこれくらいでも当たり前という感じはするが、
これがクールさを売りにするAPPLEの実態とはなんとも哀れな感がある。

しかし
今回のことで、
android開発にも触手を伸ばすモチベーションが大いに高まったので良しとする。


追記

このブログを書いていると、
最後にアップしたアーカイブがビルドに表示された。
アップしてから1時間くらいだろうか。
そして、無事、ようやく審査待ちに。

しかし、今後もこんなしょうもないことに付き合わされなければならないと思うと、iPhoneアプリ開発は本当に割りに合わない。
もっといい加減に向き合った方がいいのかもしれない。
関連記事
comment (0) @ エラー
[アップデート2回目] XCODE7で、iOS8のデバッグをする方法。SpriteKit、iOS8.4→iOS9にすると画面が崩れる | [初めてのアップデート] 英語へのローカライズ

comment

コメントを送る。

URL:
Comment:
Pass:
Secret: 管理者にだけ表示を許可する
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。