OGeek|极客世界-中国程序员成长平台

标题: ios - Xcode 8 中的 UIScreen mainScreen [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 17:32
标题: ios - Xcode 8 中的 UIScreen mainScreen

Xcode 8 中的 iOS SDK 存在问题。

我们在项目中使用方法[UIScreen mainScreen]。此方法适用于 iOS 2.0。

但是当我们在 Xcode 8 中构建产品并提交审核时,应用被拒绝了。惊喜:在新的 SDK (Xcode 8 GM) 中,此方法标记为“可从 iOS 10.0 获得”。换句话说 - 现在 iOS 9 将 [UIScreen mainScreen] 标识为“非公共(public) API”。

也许这是苹果的错误。

我们的问题:
1)我们想继续使用这个方法。
2) 我们希望支持 iOS 8 和 iOS 9。
3) 我们想使用 Xcode 8。
这可能吗?



Best Answer-推荐答案


类属性是 Xcode 8 中可用的 Objective-C 功能,看起来 mainScreen 已在 API to be one 中进行了重构. mainScreen 是非公开的错误似乎是 Apple 端的误导性错误/错误,但如果您使用类属性访问器,错误可能会消失。

好消息是,由于它是一种语言特性,而不是特定于 iOS 版本,你应该能够采用类属性语法,即 UIScreen.mainScreen,并继续支持 iOS 8-9 .

附言mainBundle 现在也是一个类属性,所以如果你使用它,它可能会触发同样的错误。

关于ios - Xcode 8 中的 UIScreen mainScreen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39549461/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4