我使用 xcode 4 开发了一个 iPhone 应用程序,它与 iOS 4.3 兼容并在 iPhone 4 设备上顺利运行。
我的问题是如何检查我的应用程序是否与 iOS 3 兼容。
我没有任何 iOS 3 设备来运行该应用程序,因此唯一的解决方案是检查 iOS 3 的兼容性是模拟器,但我没有找到在 iOS 3 模拟器上运行该应用程序的任何选项。任何关于如何为 iOS 3 安装 SDK 的建议。
谢谢
问问题
1558 次
4 回答
2
确保兼容性的唯一方法是借用或购买运行 iOS 3 的设备进行测试。模拟器,即使是旧模拟器,也不够准确,无法确保兼容性。
如果您在任何地方都找不到仍在运行 3.x 的设备,即使只是借用一个小时,为什么还要为与如此稀有的兼容性而烦恼呢?
于 2011-12-29T19:06:11.557 回答
2
这是我的 iOS 3 清单:
- 确保您的应用程序在较慢的 CPU 和较少的内存上运行良好。
- 支持armv6。将 armv6 添加到架构中,从所需的设备功能中删除 armv7,如果您的编译器存在代码生成错误,则禁用 armv6 上的 thumb。
- 不要使用 ARC,iOS 3 不(官方)支持 whick。
- 检查是否存在较新的方法(使用 respondsToSelector:) 或类,而不是在大多数情况下检查操作系统版本。
- 不要使用 iOS 3 上确实存在但属于私有 API 且缺少重要方法的手势识别器。您需要手动处理触摸事件。
- 如果使用block,需要动态链接系统库,需要iOS 3.1(听说iOS 3.0不支持动态链接)
这是一个示例应用程序:didFinishLaunchingWithOptions: 方法。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease];
if ([self.window respondsToSelector:@selector(setRootViewController:)]) {
self.window.rootViewController = self.viewController;
} else {
[self.window addSubview:self.viewController.view];
}
[self.window makeKeyAndVisible];
return YES;
}
于 2011-12-30T02:58:11.613 回答
1
点击项目,点击您的目标,点击摘要,将您的部署目标设置为 3.x。然后 XCode 顶部的 Scheme 下拉菜单将显示在 3.x 模拟器中运行它的选项。
于 2011-12-29T18:38:45.000 回答
0
On the iOS developer center there's a download link to Xcode 3. That one might include iOS 3.
于 2011-12-29T18:35:53.787 回答