我已经提交了一个iPhone应用程序6次,并且在上一个/当前版本的要求中,不再支持iPhone 3G。
我的问题:为什么我会失去这个模型?
我有一些评论:
现在,应用程序不再支持iPhone 3G了。 我做了一些搜索,但没有找到任何关于它的消息。
在我提交此版本之前,我将XCode从版本4.0.2(iOS SDK 4.3)更新为版本4.2(iOS SDK 5)。
也许在提交过程中,“Apple”检查了二进制文件,以便检查我的工具版本(我用它构建了我的应用程序)。
由于iOS 5无法安装在iPhone 3G上,我已经失去了这种支持。
我拥有iPhone 3G以进行兼容性测试 使用XCode 4.2,我无法使用iPhone 3G调试我的应用程序。 但是,我找到了解决方案:添加架构armv6是不够的我需要放置一些弱链接。
如果我使用这些选项“特殊3G”提交我的应用程序,是否会考虑这些选项并且支持将会回来?
(见编辑)
“最新消息”是我更改了Apple帐户:我使用其他帐户提交了我的应用程序。 也许某些地方有一些我没看到的选择。
编辑:我忘了一个可能很重要的部分:iOS的版本。
运行我的应用程序的iOS的最低版本是iOS 3.1。 我的iPhone 3G在iOS 3.X上运行
我在XCode 4.2和iPhone 3G上遇到的所有麻烦似乎都是iOS(3.X)的版本。
也许我的应用程序失去了iPhone 3G的支持,以确保iOS SDK 5和iOS 3.X没有问题
但是,有些用户在iOS 3.X上运行iPhone 3GS。
我在iOS 4.0上运行了一个iPhone 3GS进行了一些测试:我没有任何问题,也没有选项可以添加到我的项目设置中。
感谢您的回答。问题可能是我的XCode版本。
就像我说的,我已经添加了架构armv6。但是使用我的iPhone 3G iOS 3.X,这还不够。
您是否仅使用一部iPhone 3G测试此设置是否成功?
我应该这样做:
---这是你的建议----
使用此设置,我的应用程序崩溃:“dyld:找不到符号:__ NSConcreteGlobalBlock”
所以我还应该添加标志“Other Linker Flags”, - weak_library /usr/lib/libSystem.B.dylib
这是我的一个问题:
如果我使用这些选项“特殊3G”提交我的应用程序,是否会考虑这些选项并且支持将会回来?
答案 0 :(得分:2)
默认情况下,Xcode 4.2不包含对iPhone 3G的支持,但您可以将其添加回来。只需选择您的应用目标,然后选择“构建设置”。在顶部,将列出的标准从“标准(armv7)”更改为“其他”。在弹出框中,选择现有选项并单击减号按钮,然后单击加号按钮并添加“armv7”,然后再次单击加号并添加“armv6”。 armv7将支持更新的芯片,而armv6将重新支持iPhone 3G ...提供你将iOS部署目标设置为iOS 4.2或更早版本...你在3.x的设置应该很好 - 这只是限制你显然没有使用iOS的新功能。
你可能还需要在Build Settings中的“Other C Flags”下添加“-mno-thumb”,不过如果我的内存正确地为我服务,那可能只是在你想要使用旧的自动引用计数时架构 - 甚至只是因为这是一个已知错误的解决办法。