我需要尽快提交应用程序的更新,当我使用Xcode 6 GM在iOS 8设备上运行时,会出现许多错误。当我使用Xcode 5在iOS 8设备上运行相同的应用程序时,没有发生这些错误。
E.g。 - [UIScreen bounds]
取决于iOS 8。当使用Xcode 6运行app -landscape时,许多UI元素被错误定位会注意到这种新行为。当我在同一iOS 8设备上使用Xcode 5运行应用程序时,情况并未发生。
答案 0 :(得分:1)
这是完全正常的,也是Apple历史上提供向后兼容性的方式。
使用xCode 5构建时,您将针对iOS 7 SDK进行编译(假设您在Build Settings-> Base SDK中指定的内容)。 iOS设备会在您运行应用程序时考虑到这一点,并为您提供向后兼容的行为(主要是......)。
例如,如果您在xCode 5上构建项目,则无论您运行的操作系统或方向如何,您都将获得320x568(在4&#34;屏幕上)的屏幕大小。< / p>
但是,当您在xCode 6上构建时,横向iOS 8设备的屏幕尺寸为568x320,而iOS 7设备则为320x568。
如果您要在xCode 6上构建新应用,您还应该了解为针对iOS 7或更早版本的应用提供启动图像(而不是启动屏幕)的要求。根据文档:
针对iOS 7.x或之前版本的应用程序也需要提供 传统的PNG通过资产目录发布。没有启动PNG iOS 7及更早版本的应用程序将运行在视网膜3.5“ 视网膜4“显示器上的兼容模式。
答案 1 :(得分:0)
在构建设置中,基本sdk默认为最新版本。对于xcode 5,它是ios7。所以你的应用程序是使用它构建的。