gpt4 book ai didi

iPhone版本兼容性扫描仪

转载 作者:行者123 更新时间:2023-12-03 19:19:38 25 4
gpt4 key购买 nike

好吧,我开发 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 中可用 @_@

最佳答案

这里有同样的问题。我唯一想到的是将 Project AND Target 的 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的下载链接:Snow LeopardLeopard

关于iPhone版本兼容性扫描仪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4690911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com