2012-04-05 55 views
2

我正在开发一款iPhone应用程序,该应用程序不仅应该在新的iPhone上运行,还应该在旧设备上运行。因此,为了测试,我确实将加载配置文件加载到旧iPhone 3G(iOS 4.2.1)并将其与我的Mac连接。在Xcode中,我也将iOS部署目标设置为3.0。使用此设置,该应用程序在iPhone 4上运行,但不在旧iPhone 3G上运行。如何在旧硬件上测试新应用程序? (Xcode 4.3.2带有基本的SDK iOS 5.1;测试设备是带有iOS 4.2.1的iPhone 3G)

我知道我也必须将架构从armv7设置为armv6,但是当我输入“armv6”时,它会跳回到“armv7”。

那么,我必须做什么才能在旧设备上测试新的应用程序?我必须输入什么值,以及我必须输入哪些值?我是否需要为实际的SDK下载一些插件?

回答

5

我们正在测试iOS 4和3上的应用程序在我的工作中的某些应用程序,通常两个关键点是臂架和架构目标,正如您已经指出的那样。

首先,如果您有多个目标,请确保您在任何地方都有正确的配置。

其次,你指出armv7“跳”回armv6。 它不应该发生。 确保您在第一行中使用“armv6”正确输入此字段,并在弹出窗口的第二行上输入“$(ARCHS_STANDARD_32_BIT)”。

最后,当您试图推出应用程序时,您是否有任何警告或消息在您的控制台?

+0

即使输入“armv6”“$(ARCHS_STANDARD_32_BIT)”,armv7 conf是否仍会回来?看看你的解释,有很高的机会,它不起作用,因为该应用程序是为armv7架构... – Xval 2012-04-05 18:29:09

+0

对不起,我没有看到你的第一个评论,通常是最终计数的TARGETS条目(默认情况下项目的价值计数,但它可能的价值已经改变,所以我邀请你来检查)。在那里你会找到构建目标(通常你将有一个发布目标的应用程序提交和你用于dev的目标是你需要检查的目标)。 – Xval 2012-04-05 18:32:33

+0

当我尝试在iPhone 3G上启动应用程序时,没有警告或错误消息。它根本不会加载到手机上。在Xcode Header中间的浅蓝色显示中,我可以看到,正在建立,然后我得到消息“Running on ...”(无法读取剩余的消息,因为它消失得这么快),然后,在少于1秒:“在old_iPhone上完成运行ToDO和项目 - 没有问题”。 你究竟输入了“armv6”?你在哪里输入它? – 2012-04-05 18:39:29

0

的XCode配备了一个iPhone模拟器......你应该能够从iOS 3.2测试 - 5.1

如果您还没有它去更新管理器在Xcode和下载iOS 5.0模拟器。

+1

问题是,模拟器有一个错误。我的应用程序在模拟器和我的iPhone 4上行为不同。请看这里:http://stackoverflow.com/questions/10030362现在我​​想知道它在我的旧iPhone 3G上的表现。这就是为什么我需要在真正的旧硬件上测试应用程序。 – 2012-04-05 17:57:13

相关问题