我有一个目前在iOS4-6上运行良好的应用程序。但是,我想使用仅支持5及更高版本的新库。删除操作系统版本有什么后果? iOS4上的人如何备份他们的应用程序?我应该告诉他们从iTunes备份IPA文件吗?我知道当我需要一个较旧的iOS版本的文件并且无法获取该文件时,我遇到过一些情况。
如果你不得不放弃iOS版本,你会做什么?
答案 0 :(得分:3)
如果你想放弃对iOS 4的支持,分支可能是多重的,肯定会有一些用户陷入你所描述的“需要一个你无法回复的文件”中。
在任何情况下,我认为告诉用户备份应用程序数据和IPA文件是一个很好的策略(您可能会设计另一个,如@benzado建议的那个,但您提议的那个将适用于当然,即使用户决定通过iTunes更新应用程序,也可以降低风险。
我唯一不知道的是你将如何告诉他们这样做。也许通过一个中间版本说:这是iOS4的最后一个?不确定。
另一方面,我不确定你是否真的需要放弃对iOS4的支持。
查看this post的一般方法。
如果您只是想添加一个新的框架(适用于iOS5 / 6而不适用于iOS4),只需要将这些框架弱连接起来,然后有条件地包含这些框架的标题。
说你想支持Twitter;然后你有条件地包括标题:
#if defined(__IPHONE_5_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_5_0
#import <Twitter/Twitter.h>
#import <Accounts/Accounts.h>
#endif
并有条件地保护Twitter方法的使用:
Class tweeterClass = NSClassFromString(@"TWTweetComposeViewController");
if (tweeterClass != nil && [tweeterClass respondsToSelector:@selector(canSendTweet)]) {
...
}
(此代码仅在iOS5 / 6上执行。)
关于弱链接,转到目标选项,显示构建阶段,然后在“链接框架”下添加新框架;只确保在右侧选择“可选”选项(见图)。
答案 1 :(得分:0)
如果您放弃对iOS 4的支持,请告诉现有用户:
事实是,大多数仍在使用较旧的iOS设备的人不会定期将其与iTunes同步,因此除非他们单独删除或擦除整个设备,否则他们不会丢失该应用。