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-推荐答案 strong>
类属性是 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/
|