ios - 放弃对 iOS 4 的支持
<p><p>我有一个目前在 iOS4-6 上运行良好的应用程序。但是,我想使用仅支持 5 及更高版本的较新库。删除操作系统版本的后果是什么? iOS4上的人如何备份他们的应用程序?我应该告诉他们从 iTunes 备份 IPA 文件吗?我知道在某些情况下,我需要旧 iOS 版本的文件但无法取回文件。</p>
<p>如果你不得不放弃一个 iOS 版本,你会怎么做?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>如果您想放弃对 iOS 4 的支持,后果可能是多方面的,而且肯定会有一些用户陷入您所说的“需要一个无法取回的文件”的情况。</p>
<p>无论如何,我认为告诉您的用户备份应用程序数据和 IPA 文件是一个很好的策略(您可能会设计另一种策略,就像 @benzado 建议的那样,但您提议的策略适用于当然,即使在用户决定通过 iTunes 更新应用程序的情况下)以降低风险。</p>
<p>我唯一不知道的是你将如何告诉他们这样做。也许通过一个中间版本说:这是iOS4的最后一个?不确定。</p>
<p>另一方面,我不确定您是否真的需要放弃对 iOS4 的支持。</p>
<p>看看<a href="http://cocoawithlove.com/2010/07/tips-tricks-for-conditional-ios3-ios32.html" rel="noreferrer noopener nofollow">this post</a>用于一般方法。</p>
<p>如果您只是想添加一个新框架(存在于 iOS5/6 而不是 iOS4),只需弱链接这些框架,然后有条件地包含这些框架的 header 即可。</p>
<p>说你想支持 Twitter;那么你有条件地包含标题:</p>
<pre><code>#if defined(__IPHONE_5_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_5_0
#import <Twitter/Twitter.h>
#import <Accounts/Accounts.h>
#endif
</code></pre>
<p>并且有条件地保护 Twitter 方法的使用:</p>
<pre><code>Class tweeterClass = NSClassFromString(@"TWTweetComposeViewController");
if (tweeterClass != nil && ) {
...
}
</code></pre>
<p>(此代码只会在iOS5/6上执行)。</p>
<p>至于弱链接,转到您的目标选项,显示构建阶段,您可以在“与框架的链接”下添加新框架;只需确保您选择右侧的“可选”选项(见图)。</p>
<p> <img src="/image/LdEKg.png" alt="enter image description here"/> </p></p>
<p style="font-size: 20px;">关于ios - 放弃对 iOS 4 的支持,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/12963169/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/12963169/
</a>
</p>
页:
[1]