iPhone版本兼容性扫描仪

2024-04-08

好吧,我开发 iPhone 应用程序已经一年多了, 但有一件事仍然很糟糕。

假设我想让我的应用程序与 iOS 3.0 兼容 我将 sdk 设置为可用的最新版本,并将部署目标设置为 3.0

但是,如果您不小心调用了仅在 ... 3.1.x 或更高版本中可用的函数,会发生什么情况? 是的,它只是崩溃了。

没有任何警告或指示告诉您某个功能仅在更高版本的 iOS 版本中可用。由于模拟器不支持 4.0 以下的版本,因此无法测试应用程序是否真正有效。你甚至不能购买新设备,因为他们已经安装了较新的 iOS。 即使您拥有较旧的设备,有时也几乎不可能检查代码的每个部分。

而且我确实需要支持旧版本,因为我知道我的客户(大约 2/3)仍然使用 3.x 版本。

是否没有任何代码分析器或扫描应用程序内调用的所有函数的可用性的东西?

在一种情况下,应用程序崩溃了,因为我打电话

+ (id)sortDescriptorWithKey:(NSString *)key ascending:(BOOL)ascending

这是 alloc + 的一种便捷方法

- (id)initWithKey:(NSString *)key ascending:(BOOL)ascending;

(而且它是自动发布的) 但是sortDescriptorWithKey仅在4.0中可用@_@


同样的问题在这里。我唯一想到的就是设置Base SDK项目和目标为 3.0。然后编译器会检查你是否调用了一些不存在的方法。

但是扫描仪的问题仍然存在,因为上面的方法在使用 ASI HTTP 框架时引发了一些错误。所以我的程序是

  1. 将 SDK 更改为 3.0
  2. 解决我自己的代码中的错误
  3. 更改方法以兼容 3.0
  4. 设置项目的Base SDK回到 最新的SDK

您可能必须安装以前 XCode 版本的 SDK 3.0。并且无需设定目标Base SDK回到最新版本。我曾经将其设置为 3.0,并且没有从 ASI HTTP 中得到任何错误。

//编辑:XCode 3.2.1 的下载链接:雪豹 http://developer.apple.com/ios/download.action?path=/iphone/iphone_sdk_3.1.3__final/iphone_sdk_3.1.3_with_xcode_3.2.1__snow_leopard__10m2003a.dmg and Leopard http://developer.apple.com/ios/download.action?path=/iphone/iphone_sdk_3.1.3__final/iphone_sdk_3.1.3_with_xcode_3.1.4__leopard__9m2809a.dmg

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iPhone版本兼容性扫描仪 的相关文章

  • 在 Objective C 中获取第一响应者

    我无法弄清楚哪个UITextField是当前的第一响应者 我想做的是 如果用户单击特定的内容 则设置一个布尔值UITextField 因此 要做到这一点 我需要能够判断这个特定的文本字段是否已成为第一响应者 我知道如何设置第一响应者 但只是
  • 本地通知替代周重复

    我有两个通知 我想隔周重复一次 例如 在第一周的星期一设置一个通知 并应在第三周的星期一重复 第二次通知设置在第二周的星期二 并且应在第四周的星期二重复 为此我该怎么办 获取周数 并根据周数做出决定
  • 为 iPhone 5 扩展应用程序 - 最佳实践

    现在Apple即将开始发货 iPhone 5 我正在考虑扩展我的应用程序 以便它们在 iPhone 5 上全屏显示iPhone 5 我在模拟器上运行我的应用程序 甚至是那些带有UITableView延伸至屏幕底部 屏幕顶部和底部出现黑条 这
  • 由于辅助功能设置而未检测到 iOS 手势

    我正在开发的应用程序需要三点滑动手势 我已经成功地实现了这个使用UIGestureRecognizer大多数情况下它工作得很好 但是 如果您打开设备的 缩放 辅助功能设置 设置 gt 常规 gt 辅助功能 gt 缩放 则会停止识别该手势 缩
  • Flutter更新Appbar中的文本

    我需要帮助更新应用栏中的文本以匹配我当前所在的页面 因此 如果我在 设置 页面中 那么我需要在 AppBar 文本中显示它 我添加代码和屏幕截图是为了更好地解释我想要实现的目标 主dart void main gt runApp MyApp
  • Objective-C ARC 只读属性和私有 setter 实现

    在 ARC 之前 如果我希望某个属性对于使用它是只读的 但在类中可写 我可以这样做 Public declaration interface SomeClass NSObject property nonatomic retain read
  • 在 ios 7 设备上获取多个应用程序图标

    我在 ios7 iPhone5 设备 上遇到一个奇怪的错误 我在ios7上使用xcode5安装了iPhone应用程序我的问题是每当我在设备上安装应用程序时 我都会收到多个应用程序图标 多次使用相同的名称 我还尝试通过我的系统使用不同的应用程
  • iOS:iOS 4.3 和 5.0 之间不同的 addSubview 行为

    之前在 iOS 4 3 中编码时 我发现将视图控制器的视图添加到另一个视图时 superview addSubView controller view 控制器实例将不会收到 viewWillAppear viewDidAppear消息 比我
  • Interface Builder 中的多个视图状态

    我正在处理一个有 3 种状态的屏幕 证实 Loading Error 前两个非常简单 因为只更改了标签文本 第三个比较棘手 因为我需要显示一条错误消息并在其上有一个重试按钮 另外 我希望将所有这些都放在一个控制器下 我想这是最简单的部分 问
  • 如何在 iPhone 应用程序中与 Modbus 设备通信?

    我希望能够开发一个可以与 Modbus 设备通信的 iPhone 应用程序 但我不知道如何继续 有没有人有这方面的经验 或者是否有用于此目的的现有图书馆 您首先需要知道如何在您的 iPhone 上创建一个简单的 TCP 客户端 以及如何在您
  • Google BigQuery:检索每行的最后版本

    我有一个 Google BigQuery 表 其中包含所有版本的资源 每次创建 更新 删除资源时 都会添加一个新行 并递增版本号 该数字将是添加行时的时间戳 ID ResourceID Action Count Timestamp ABC
  • 是否需要 AudioServicesDisposeSystemSoundID?

    我最近开始使用 AudioToolbox 框架 并注意到有一个名为AudioServicesDisposeSystemSoundID 只是想知道 调用的时候不调用上面的方法是不是内存泄漏AudioServicesCreateSystemSo
  • 如何判断一个app是原生的还是html5的? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想知道移动应用程序是如何原生或 html5 的 有没有什么软件或者网站可以说明这一点 如何检测应用程序是本机应用程序还是 html5 您可以使用 w
  • 将附件视图按钮添加到 MKMapView 调出注释?

    我最近遇到过这个网站 http www everydayone com 2009 08 mapkit annotation with buttons example 我一直在尝试向我的呼出视图添加一个按钮 来自图像 网站示例上的代码工作得很
  • 将左按钮添加到 UINavigationBar (iPhone)

    我创建了一个新的基于导航的 iPhone 应用程序 我将其添加到 RootViewController 中 void viewDidLoad super viewDidLoad UIBarButtonItem addButton UIBar
  • 使用 MKPolyline 在两个位置之间绘制路径

    I am trying to show route between two locations with the help of this http spitzkoff com craig p 136 tutorial They have
  • Xcode:为不同的构建配置设置GCC_PREPROCESSOR_DEFINITIONS?

    我想设置GCC PREPROCESSOR DEFINITIONS对于我的四个构建配置 调试 发布 临时和分发 中的每一个 我希望每个都有不同的设置 我正在查看的屏幕是 目标信息 窗口的 构建 选项卡 当我将配置弹出窗口设置为 调试 时 我可
  • 如果在 addSubView 之后调用,UIButton 不会移动

    所以我想移动一个UIButton单击后 The addMoreFields单击按钮后调用该方法 addMoreFieldBtn是一个全球性的UIButton 当我点击它时什么也没有发生 奇怪的是 如果我注释掉addSubView代码然后按钮
  • iOS后台Location不发送http请求

    我的应用程序需要在后台跟踪用户位置 但无法发送 获取 请求 当应用程序到达前台时 http 请求会立即发送 我正在使用 RestKit 来处理所有网络请求 并且遵循本教程 http www mindsizzlers com 2011 07
  • 已加载 nib 文件但未设置视图出口

    我不小心删除了universityPicker xib 然后用相同的名称创建了一个新的 但无法连接 文件崩溃并给出此消息 reason UIViewController loadViewFromNibNamed bundle loaded

随机推荐

  • 指向具有不同参数的成员函数的指针的容器

    我到处寻找 现代 C 设计和合作 但我找不到一种好方法来存储一组接受不同参数并对不同类进行操作的回调 我需要这个 因为我希望应用程序的每个对象都有可能将其方法之一的执行推迟到主对象Clock对象 跟踪当前时间 可以在正确的时刻调用此方法 我
  • 类型错误:names_to_saveables 必须是将字符串名称映射到张量/变量的字典

    我正在尝试使用 freeze graph py 转换 MobileNet 0 50 的重新训练版本 这是我的代码 python m tensorflow python tools freeze graph input checkpoint
  • DB 连接关闭后从 Oracle DB 读取 CLOB

    在我正在查看的 Java 类之一中 我看到以下代码 private oracle sql CLOB getCLOB oracle sql CLOB xmlDocument null CallableStatement cstmt null
  • php - 输出值到屏幕中间循环

    在长 foreach 循环期间是否可以将任何内容输出到屏幕 每当我执行一个需要很长时间的循环时 在循环完全完成之前 屏幕上不会输出任何内容 即使 echo 语句位于循环内部 有没有办法改变这种行为 您需要刷新缓冲区 如何执行取决于您的服务器
  • 如何在 CUDA 应用程序中构建数据以获得最佳速度

    我正在尝试编写一个简单的粒子系统 利用 CUDA 来更新粒子位置 现在 我定义的粒子有一个对象 该对象的位置由三个浮点值定义 速度也由三个浮点值定义 更新粒子时 我向速度的 Y 分量添加一个常量值以模拟重力 然后将速度添加到当前位置以得出新
  • 为什么删除不完整的类型实际上是未定义的行为?

    考虑这个经典的例子来解释什么not与前向声明有关 in Handle h file class Body class Handle public Handle Handle delete impl private Body impl in
  • JQUERY DOM:选择 Dom 加载后创建的元素

    我正在开发一个项目 在该项目中 我需要在调用函数时更改某个类的所有选择输入的值 问题是一些选择输入在 dom 首次加载时并不存在 它们是通过 Javascript 动态创建的 该函数适用于选择页面加载时存在的所有选择输入 但不适用于动态添加
  • Delphi REST API 帖子示例

    有人可以发布一个使用 Delphi 2005 向 API 发送 JSON POST 请求的简单示例 我发现了许多使用 GET 的示例 但 API 提供程序不允许通过 HTTP GET 请求 也不支持 URL 编码参数 我对调用 REST 服
  • 什么时候在排序之外使用太空船运算符?

    我只见过 Perl 宇宙飞船运算符 在数字排序例程中使用 但它在其他情况下似乎很有用 我只是想不出实际用途 什么时候可以在 Perl 排序之外使用它 This is a best practice question 我正在为机器人乔编写一个
  • App.Config 应该是应用程序的伴随文件还是放在自己的组件中?

    当我创建 Windows Installer 程序包 例如使用 WiX 并安装该应用程序时App exe以及App exe config配置文件应该有自己的组件还是应该是应用程序可执行文件的伴随文件
  • Netty 处理程序未调用

    我正在尝试使用简单的服务器客户端应用程序进入 Netty 代码见下文 我正在努力解决两个问题 ConfigServerHandler 分别ConfigClientHandler 被正确调用 但是 FeedbackServerHandler
  • 有没有办法为 Swift 4.2 随机数生成器提供种子

    我喜欢新的 Swift 4 2 RandomNumberGenerator 东西 但我没有看到那里有种子的可能性 我是否遗漏了一些东西 或者有什么方法可以通过调用底层低级函数来为这些生成器提供种子 我有很多代码 它们在默认数字类型上使用默认
  • 创建APK时Android应用程序图标变得模糊

    创建 APK 时我的应用程序图标变得模糊 我尝试下载一个具有非常尖锐图标的 Android 应用程序的 APK 并将其放入我的 APK 中 但得到了相同的结果 为什么我的图标变得模糊 而我在使用相同图标的其他应用程序中看到它却非常清晰 当然
  • 转换时我得到 LINQ to Entities Int32 ToInt32(System.String)

    当 Convert i 尝试 int Parse SqlFunction 和 EdmFunction 时 我得到 LINQ to Entities Int32 ToInt32 System String 但问题仍然存在 例外 System
  • `enforce_stop_tokens` 如何在 LangChain 中与 Huggingface 模型一起工作?

    当我们查看 HuggingFaceHub 模型的使用情况时langchain有这部分作者不知道如何停止生成 https github com hwchase17 langchain blob master langchain llms hu
  • django-social-auth 中的 Django 错误

    我是 Django 的新手 我正在我的应用程序中实现 Facebook 身份验证 我在终端输出中遇到的错误类似于 File manage py line 10 in
  • 在 Flutter 中在 X 上旋转 3D

    我一直在研究 Flutter 旋转 new Matrix4 identity rotateX degrees 3 1415927 180 但是 问题是 我希望它与下图类似 我可以用 Flutter 在 x 轴上实现类似 3D 的旋转吗 即使
  • Python中删除只读目录

    shutil rmtree不会删除 Windows 上的只读文件 有没有相当于 rm rf 的Python 为什么哦为什么这么痛苦 shutil rmtree可以采用一个错误处理函数 当删除文件时遇到问题时将调用该函数 您可以使用它来强制删
  • 无法查询 ListField(EmbeddedDocumentField)

    我有以下型号 class Skill EmbeddedDocument name StringField required True level IntField required True class Agent Document nam
  • iPhone版本兼容性扫描仪

    好吧 我开发 iPhone 应用程序已经一年多了 但有一件事仍然很糟糕 假设我想让我的应用程序与 iOS 3 0 兼容 我将 sdk 设置为可用的最新版本 并将部署目标设置为 3 0 但是 如果您不小心调用了仅在 3 1 x 或更高版本中可