如何使我的应用程序通用?

时间:2014-12-05 17:17:53

标签: ios objective-c

我正在尝试使我的应用程序具有通用性和IOS 8 IOS 7.这个宏在IOS模拟器中完美运行,但是当我尝试在IOS 7.1模拟器中打开它时,在Xcode 6.1中将此消息发送到下面就是图像。{ {0}}

我有这个宏:

#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) // iPhone and       iPod touch style UI

#define IS_IPHONE_5_IOS7 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 568.0f)
#define IS_IPHONE_6_IOS7 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 667.0f)
#define IS_IPHONE_6P_IOS7 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 736.0f)
#define IS_IPHONE_4_AND_OLDER_IOS7 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height < 568.0f)

#define IS_IPHONE_5_IOS8 (IS_IPHONE && ([[UIScreen mainScreen] nativeBounds].size.height/[[UIScreen mainScreen] nativeScale]) == 568.0f)
#define IS_IPHONE_6_IOS8 (IS_IPHONE && ([[UIScreen mainScreen] nativeBounds].size.height/[[UIScreen mainScreen] nativeScale]) == 667.0f)
#define IS_IPHONE_6P_IOS8 (IS_IPHONE && ([[UIScreen mainScreen] nativeBounds].size.height/[[UIScreen mainScreen] nativeScale]) == 736.0f)
#define IS_IPHONE_4_AND_OLDER_IOS8 (IS_IPHONE && ([[UIScreen mainScreen] nativeBounds].size.height/[[UIScreen mainScreen] nativeScale]) < 568.0f)

#define IS_IPHONE_5 ( ( [ [ UIScreen mainScreen ] respondsToSelector: @selector( nativeBounds ) ] ) ? IS_IPHONE_5_IOS8 : IS_IPHONE_5_IOS7 )
#define IS_IPHONE_6 ( ( [ [ UIScreen mainScreen ] respondsToSelector: @selector( nativeBounds ) ] ) ? IS_IPHONE_6_IOS8 : IS_IPHONE_6_IOS7 )
#define IS_IPHONE_6P ( ( [ [ UIScreen mainScreen ] respondsToSelector: @selector( nativeBounds ) ] ) ? IS_IPHONE_6P_IOS8 : IS_IPHONE_6P_IOS7 )
#define IS_IPHONE_4_AND_OLDER ( ( [ [ UIScreen mainScreen ] respondsToSelector: @selector( nativeBounds ) ] ) ? IS_IPHONE_4_AND_OLDER_IOS8 : IS_IPHONE_4_AND_OLDER_IOS7 )

如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您的计算机上可能未安装7.1模拟器(默认情况下不安装)。内部偏好&gt;下载是否安装在“组件”下。

enter image description here

答案 1 :(得分:1)

你在这里描述的问题不是你的应用程序作为通用应用程序的角色(这意味着它在iPhone和iPad上是原生的 - 这部分工作得很好)但作为一个允许的应用程序在比其基本SDK更旧的系统上运行。

只需设置部署目标即可。最简单的方法是编辑项目 - 请参阅“信息”选项卡上的“部署目标”弹出窗口。

enter image description here

在该屏幕截图中,部署目标是8.1,这意味着我们甚至无法在iOS 8上运行,更不用说iOS 7了!通过将其设置为7.0,您可以允许使用iOS 7.0。