我们在Xcode 8中遇到iOS SDK问题。
我们在项目中使用方法[UIScreen mainScreen]
。此方法可从iOS 2.0获得。
但是当我们在Xcode 8中构建产品并将其提交审核时,app被拒绝了。惊喜:在新的SDK( Xcode 8 GM )中,此方法标记为“可从iOS 10.0 ”获得。换句话说 - 现在iOS 9将[UIScreen mainScreen]
标识为“非公共API ”。
也许这是Apple的错误。
我们的问题:
1)我们想继续使用这种方法
2)我们想支持iOS 8和iOS 9
3)我们想要使用Xcode 8
这可能吗?
答案 0 :(得分:0)
类属性是Xcode 8中提供的Objective-C功能,看起来mainScreen
已在API to be one中重构。在非公开的情况下,mainScreen的错误似乎是一个误导性的错误/错误,但如果您使用类属性访问器,错误可能会消失。
好消息是,由于它是一种语言功能,而不是特定于iOS版本,因此您应该能够采用类属性语法,即UIScreen.mainScreen
,并继续支持iOS 8-9。
P.S。 mainBundle
现在也是一个类属性,所以如果你使用它,它可能会触发相同的错误。