我使用Today小部件扩展为iOS 8构建了一个应用程序。我想知道如何确保iOS 7用户仍然可以下载和使用该应用程序。
我是否将今日小部件开发目标设为iOS 8,但实际的应用开发目标是iOS 7?
答案 0 :(得分:9)
您走在正确的轨道上:该应用需要使用iOS 8 SDK构建,并且可以拥有更早的部署目标。小部件的部署目标是iOS 8,在iOS 7设备上将被忽略。您也可以在模拟器中轻松验证。
如果您在窗口小部件和应用程序之间共享代码,则此代码显然需要在iOS 7和8中运行。具体来说,如果您使用框架在您的应用和窗口小部件之间共享代码(recommended by Apple),则应阅读this document。但是,只要您定位iOS 7,就不会使用(自己的,嵌入式)框架。
答案 1 :(得分:0)
检查操作系统版本并为其制作后备行为
NSString * osVersion = [[UIDevice currentDevice] systemVersion];
检查您是否有权使用您想要使用的功能:
[YourClass respondsToSelector:@selector(yourDesiredFunction)]
Apple的SDK兼容性指南: https://developer.apple.com/library/ios/documentation/developertools/conceptual/cross_development/Introduction/Introduction.html
答案 2 :(得分:0)
hagi是对的,但是我们已经尝试在ios7上使用框架运行应用程序并且它有效。但最好的方法是弱链接和检查。
这是一个糟糕的情况,因为在我们的框架中几乎都是非UI代码:模型,解析器和加载。