- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一款应用目前在 iOS4-6 上运行良好。但是,我想使用仅支持 5 及以上版本的较新库。删除操作系统版本的后果是什么? iOS4 用户如何备份他们的应用程序?我应该告诉他们从 iTunes 备份 IPA 文件吗?我知道在某些情况下,我需要一个旧 iOS 版本的文件,但无法取回该文件。
如果你不得不放弃一个 iOS 版本,你会怎么做?
最佳答案
如果您想放弃对 iOS 4 的支持,后果可能是多方面的,并且肯定会有一些用户陷入您所说的“需要一个您无法取回的文件”的境地。
无论如何,我认为告诉您的用户备份应用程序数据和 IPA 文件是一个很好的策略(您可以设计另一种策略,如@benzado 建议的策略,但您提议的策略适用于当然,即使用户决定通过 iTunes 更新应用程序)以降低风险。
我唯一不知道的是您将如何告诉他们这样做。也许通过一个中间版本说:这是 iOS4 的最后一个版本?不确定。
另一方面,我不确定您是否真的需要放弃对 iOS4 的支持。
看看this post对于一般方法。
如果您只是想添加一个新框架(适用于 iOS5/6 而不是适用于 iOS4),只需弱链接这些框架,然后有条件地包含这些框架的 header 即可。
说你想支持推特;然后你有条件地包含标题:
#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上执行)
至于弱链接,转到目标选项,显示构建阶段,然后您可以在“与框架链接”下添加新框架;只需确保选择右侧的“可选”选项(见图)。
关于ios - 放弃对 iOS 4 的支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12963169/
我用 Flash 创建全屏交互式演示,最近一直在寻求迁移到新语言。我的 Flash 演示基本上是软件原型(prototype),在浏览器之外的投影仪 EXE 中运行。我想离开 Flash 有多种原因,
偶尔,对于转瞬即逝的时刻,我认为 auto_ptr 很酷。但大多数时候,我认识到有更简单的技术可以让它变得无关紧要。例如,如果我想自动释放一个对象,即使抛出异常,我也可以新建该对象并分配给一个 aut
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
Microsoft 于 2024 年 8 月 30 日[1]宣布推出 ASP.NET Core OData 9 包。 这个新包将ASP.NET Core与.NET 8 OData库保持一致,改变了OD
放弃当前在 Mercurial topic 中不需要的变更集的最佳方法是什么,这些变更集已经被推送并且不能被剥离? 换句话说,是否可以从 hg topics 输出中删除主题而不发布它? 最佳答案 hg
在过去几天沮丧地尝试将我的代码重构为最佳设计模式,即显示模块模式,或者甚至只是满足于简单的命名空间之后,我得出的结论是,对我来说,一个优雅的设计模式被破坏 visual studio intellis
我有一个构造 auto_ptr 的类并获得 T由效用函数填充的对象数据。但是,我想要 T由对象管理器存储的对象,该对象将在应用程序的整个生命周期内持续存在。 问题是 - 一旦我提取了 auto_ptr
在 C/C++ 中是否有可能“放弃”线程的 CPU 时间?例如: void wait(int s) //Low cpu usage { int tmp = time(); while(tmp +
概览:我创建了一个具有客户区域和管理区域的系统。这两个区域都有不同的登录页面。用户可以在管理区域以用户 A 身份登录,同时在客户区域以 用户 B 身份登录。 当用户从客户或管理区域注销时,调用 Ses
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
[temp.spec]/6通过 P0692R1 的实现添加到 C++20 (特化访问检查)[ 重点 矿]: [temp.spec]/6 The usual access checking rules
因此,情况是我使用 SB 队列来限制对其他服务的传出回调。回拨其他服务的标准问题之一是它们可能会出现无法控制的停机时间。假设我检测到目标已关闭/没有响应,放弃该消息以使其不会立即重新出现在队列中的最佳
我有一个使用MVVM模式的WPF应用程序,其中ViewModel调用执行所有保存/更新/获取/删除内容的查询。我这样做是因为,例如,修改查询以交换存储系统很容易。 如果即时存储/删除数据,但该应用程序
很抱歉,如果这个问题很愚蠢或已得到解答,但我在任何地方都找不到是或否。 在我们的生产 Oracle 环境中,是否可以删除架构 SCOTT? 我知道它是一个示例架构,但我们的安全部门希望删除任何未使用的
如果我将所有文件(图像、样式表、JavaScript、图标...)与 index.html 文件一起直接放入元素文件夹;不使用子文件夹来构建我的文件,例如图像、CSS...这会带来性能优势吗? 当然。
所以我有一个相当老的应用程序,最后一次在 iPhone X(s) 发布之前使用。始终使用启动图像源而不是启动屏幕文件,如下所示。 我现在在 iPhone X 上启动时遇到问题,因为屏幕尺寸是从 Lau
我有一个 Canvas 比手机屏幕大的绘图应用程序。我想实现用两根手指滚动并用一根手指绘图。到目前为止,我可以使滚动工作得很好,但是当涉及到绘图时,线条开始,然后绘图所在的 View 失去了对触摸的控
是否可以放弃对 iPhone 3GS 对新 App 的支持?因为我正在从 iPad 游戏移植到 iPhone。 480*320分辨率太小了。很难将我当前的游戏移植到它上面。但是高分辨率的 iPhone
我有一个 Python 应用程序,它在单独的线程中运行作业。一些 workerjobs 为数据库连接实现 pymongo。 class Job(Thread): ... self.
我有一个提交到启动脚本的 PHP 页面的 HTML 表单。该脚本可能需要 3 秒到 30 秒的时间才能运行 - 用户无需在附近即可完成该脚本。 是否可以启动一个 PHP 脚本,立即向用户打印“谢谢”(
我是一名优秀的程序员,十分优秀!