我使用Today小部件扩展为iOS 8构建了一个应用程序。我想知道如何确保iOS 7的用户仍然可以下载和使用该应用程序。
我是否将今日小部件开发目标设为iOS 8,但实际的应用开发目标是iOS 7?
我使用Today小部件扩展为iOS 8构建了一个应用程序。我想知道如何确保iOS 7的用户仍然可以下载和使用该应用程序。
我是否将今日小部件开发目标设为iOS 8,但实际的应用开发目标是iOS 7?
您正走在正确的轨道上:该应用需要使用iOS 8 SDK构建,并且可以拥有更早的部署目标。小部件的部署目标是iOS 8,在iOS 7设备上将被忽略。您也可以在模拟器中轻松验证。
如果您在窗口小部件和应用程序之间共享代码,则此代码显然需要在iOS 7和8中运行。具体来说,如果您使用框架在您的应用程序和窗口小部件之间共享代码(即 Apple推荐),你应该读 这个文件。但是,只要您定位iOS 7,似乎就更容易使用(自己的,嵌入式)框架。
检查操作系统版本并为其执行回退行为
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
您正走在正确的轨道上:该应用需要使用iOS 8 SDK构建,并且可以拥有更早的部署目标。小部件的部署目标是iOS 8,在iOS 7设备上将被忽略。您也可以在模拟器中轻松验证。
如果您在窗口小部件和应用程序之间共享代码,则此代码显然需要在iOS 7和8中运行。具体来说,如果您使用框架在您的应用程序和窗口小部件之间共享代码(即 Apple推荐),你应该读 这个文件。但是,只要您定位iOS 7,似乎就更容易使用(自己的,嵌入式)框架。
检查操作系统版本并为其执行回退行为
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
hagi是对的,但我们已经尝试在ios7上运行带有框架的应用程序并且它有效。但最好的方法是弱链接和检查。
这是一个糟糕的场景,因为在我们的框架中几乎都是非UI代码:模型,解析器和加载。