忍者ブログ

佐崎司と愉快な仲間達

ゲーム、アニメ、CG、iOS開発など思いついたことを記事にしています。 管理人が3人いますので、記事にまとまりはないと思います。 iPhoneアプリのレビュー依頼も受け付けています。

iOS7からiOS8の仕様変更について

わか

iOS8が配信されたので、iOS7との違いで発生した問題を記載します。

・画面サイズ取得
[UIScreen mainScreen] bounds].size

上記記載方法で画面サイズを取得できますが、iOS8から回転が考慮されるようになりました。

iOS7だと、現在の状態が縦持ちでも横持ちでも [UIScreen mainScreen] bounds].size.height と記載することで、画面の縦サイズ(縦持ち)が取得できました。
iOS8からは、横持ちで [UIScreen mainScreen] bounds].size.height と記載すると画面の横サイズ(縦持ち)が取得されるようになります。

つまりiOS8は回転が考慮され、直感的にサイズが取得できるようになりました。
これがやっかいで、今まで回転が考慮されていないことを前提にコーディングしていますから、全て書き直しです。マクロでも使っていれば良かったのですが・・・。
仕様変更する意図も分かるのですが、今更この変更は止めてほしかったですね。

・AppDelegateのwindowにaddSubview
windowに貼付けたviewの回転動作に変更がありました。発生した現象だけ言いますと、以前は回転時に自動でviewがリサイズされていましたが、iOS8ではされませんでした。なのでviewに対してautoresizingmaskを明示的に指定すると以前と同様に動作しました。
windowに貼付けたview全ての挙動が怪しいので動作確認した方が良いですね。

・サンドボックスのパスが毎回変更される
Xcode6からアプリを実行する際にインストールされるパスが毎回変わるようです。(下記例)
/var/mobile/Containers/Data/Application/FE15B5E3-D3C7-4F26-8D23-94C22F8BA0AE/Library
/var/mobile/Containers/Data/Application/49760CDD-0BB3-4157-B20C-1AACF386574C/Library
当方ではパスからMD5を使用して取得した値をキーとしていたので、挙動が変わりました。
実機でもシュミレータでも発生したので、あせりました。
申請するアプリには影響ありませんが、デバッグ時に問題が発生します。
これって修正されるのでしょうかね。バグというか仕様変更な気もするけど修正してほしい・・・


毎度毎度仕様変更されて、開発者は大変ですね。。。

拍手[0回]

PR