私は基本的には横長モードで動作するゲームを扱っています。 プロファイルPicを変更するオプションがあります。 profile picオプションは、プロファイルpic Image Viewに表示するImage Pickerを開きます。 私の問題はios 7の向きを変更するとクラッシュするアプリケーション
イメージピッカーを開くと、アプリケーションは自動的に向きを縦向きに変更します。
これを解決するために、画像のアップロードボタンをクリックして画像を選択したときにユーザーの向きを取得しようとしましたが、強制的に元の向きに変更しています。 iPhone 5以降ではすべて正常に動作しています。しかし、ユーザーがピッカービューから画像を選択すると、iphone 4(ios7で実行中)がクラッシュします。次のエラーが表示されます。
preferredInterfaceOrientationForPresentationは、サポートされているインターフェイスの向きを返す必要があります。
私は、ユーザー
-(void)checkCurrentDeviceOrientation
{
if([UIDevice currentDevice].orientation ==
UIDeviceOrientationLandscapeRight || [UIDevice
currentDevice].orientation == UIDeviceOrientationLandscapeLeft)
{
self.currentOrientation = [UIDevice currentDevice].orientation;
}
else
{
self.currentOrientation = UIDeviceOrientationLandscapeRight;
}
}
と方向を設定するには、このコードを使用しての向きを確認するために、このコードを使用しています。
if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8"))
{
if([UIDevice currentDevice].orientation ==
UIDeviceOrientationPortrait ||[UIDevice currentDevice].orientation ==
UIDeviceOrientationPortraitUpsideDown )
{
NSLog(@"Chnaging Device Orientation to stored orientation");
NSNumber *value = [NSNumber numberWithInt:self.currentOrientation];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
}
}
else
{
//Code For IPHONE 4
}
うまくいけば、すべてがIOS 7.0.1
事前におかげで実行されていないiphone 4ではなくios8以降で正常に動作します!
[preferredInterfaceOrientationForPresentationの複製がサポートされているインターフェイスの向きを返す必要があります](http://stackoverflow.com/questions/12690963/preferredinterfaceorientationforpresentation-must-return-a-supported-interface-o) – Koen