2011-12-29 74 views
2

我开发了一款使用xcode 4的iPhone应用程序,该应用程序与iOS 4.3兼容,并且可以顺畅地在iPhone 4设备上运行。
我的问题是如何检查我的应用程序是否与iOS 3兼容。
我没有任何iOS 3设备来运行应用程序,所以唯一的解决方案是检查iOS 3的兼容性是模拟器,但我还没有找到任何选项来在iOS 3模拟器上运行应用程序。 任何建议如何安装SDK适用于iOS 3.
感谢使iPhone应用程序与iOS兼容3

+4

为什么你会打扰支持iOS 3呢? – 2011-12-29 18:35:09

+2

@TomvanderWoerdt - 所以23个bazillion手机在那里运行ios 3可以运行应用程序。 – Rayfleck 2011-12-29 18:37:35

+0

@Rayfleck我还没有看到过一个单一的iOS 3设备(iPhone 3G)的年龄。 – 2011-12-29 18:38:41

回答

1

轻按项目,点击你的目标,点击摘要,将您的部署目标设置为3.x.然后,XCode顶部的Scheme下拉菜单会显示您在3.x模拟器中运行它的选项。

+0

当我点击左侧面板中的目标部分时,没有选择总结和部署目标的选项,我使用的是xcode 3.2.6版本。在3.x中感谢 – 2011-12-30 11:42:33

+0

,双击项目,选择build标签,找到Deployment部分,找到“iOS Deployment Target”这一行,将其设置为iOS 3.2 – Rayfleck 2011-12-30 17:38:00

+0

谢谢Rayfleck,我已经成功完成了这个任务。 – 2011-12-30 17:43:33

2

确保兼容性的唯一方法是借用或购买运行iOS 3的设备进行测试。模拟器,即使是旧的,也不够准确,无法确保兼容性。

如果你找不到仍然在任何地方运行3.x的设备,即使只借一个小时,为什么还要兼容这么稀有的设备呢?

+0

感谢您的回复。是的,我也认为这样做的简单方法是借用iOS 3设备并对其进行测试。 – 2011-12-29 19:20:18

+0

但是你怎么能说iOS3很少见,你有什么统计数据? – 2011-12-29 19:21:18

+2

约有1%的设备是 lorean 2011-12-29 20:36:01

2

这是我针对iOS 3清单:

  • 确保您的应用程序运行速度慢的CPU和内存少的罚款。
  • 支持armv6。将armv6添加到体系结构中,从所需的设备功能中移除armv7,并且如果编译器存在代码生成错误,则禁用armv6上的Thumb。
  • 不使用ARC,在iOS 3上没有(官方)支持。
  • 检查是否存在更新的方法(使用respondsToSelector :)或类,而不是在大多数情况下检查OS版本。
  • 不使用iOS 3上确实存在但是私有API的手势识别器,并且缺少重要的方法。您需要手动处理触摸事件。
  • 如果你使用块,你需要的系统库动态链接,它需要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; 
} 
+0

哎呀!我如何在iPhone上设置我的文章? – hoshi 2011-12-30 03:03:22