Xcode6/iOS8対応で発生した問題など

取りあえず、現在対応中ですがXcode6 / iOS8にしたところで
諸々不具合が起きて来たので、メモ的に書いて行きます。


アプリ内で作成している画像の縮尺がおかしくなる

これは結局なところ元の実装がダメだったんですが、
マスク画像の読み込み→マスク画像のサイズを元にベース画像の作成
→マスク処理を行ってアイコンファイルを生成って処理をやってたんですが
ここで作られる画像が、iPhone5sまでとiPhone6以降では縮尺が違う問題が発生しました。


原因としては、iPhone6/6plusでは[UIImage imageNamed:]で読み込まれた
UIImage*型の画像のscaleが「2.0」になっており、
image.sizeで取得できる値がこれまでの1/2サイズになってました。


image.sizeによって処理を切り分けていただけのコードを、今後は
image.scaleをかけて計算する必要がありそうです。



NSObject型のプロパティにdescriptionを使ってはいけない

@property (copy, readwrite,nonatomic) NSString * description;

もともと、NSStringなどでdescriptionは予約語でしたが
NSObjectでもシステム的に使う様になったようです。(厳密になったというべきか)
self.description = x などを参照して setDescriptionを読んでしまうと強制終了するようになりました。



ALAssetsLibraryで全ての写真が取得できなくなった


これまでは、ALAssetsGroupSavedPhotosで取得できていた
「カメラロールの全ての写真」が、取得できなくなりました。
現在、このパラメータを使うと「最近追加した写真」しか取得できません。


おそらくはPhotos Kitを使えということでしょうが…。


ちなみに、UIImagePickerControllerを使えば、一応取得することは可能です。
ただし、アルバムが1つも存在しなくて最近追加した写真が1枚も存在しないと、
なぜか「全ての写真」まで表示されなくなります。


ちなみに、こんなバグ報告は上がってるみたいですね。
iOS 8 GM: ALAssetsGroupSavedPhotos no longer returns all photos in the camera roll
http://openradar.appspot.com/18286487


画面更新のタイミングが変わっている


なんか、変わってますね・・・ちょっとこれは調査中ですが
画面上でhidden状態のUICollectionViewCellに乗っている
UILabelでの、sizeToFitが効いてない感じになってます。