我已经提交了一个 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 没有问题
但是,有些用户的 iPhone 3GS 在 iOS 3.X 上运行。
我用一台运行 iOS 4.0 的 iPhone 3GS 进行了一些测试:我没有任何问题,也没有选项可以添加到我的项目设置中。
感谢您的回答。问题可能是我的 XCode 版本。
就像我说的,我已经添加了架构 armv6。但对于我的 iPhone 3G iOS 3.X,这还不够。
您是否仅在一台 iPhone 3G 上成功测试了此设置?
我应该做:
- 添加架构 arm6
- 使用“最新 iOS”(iOS 5.0)设置基本 SDK
- 将 iOS 部署目标设置为最小值
---这是你的建议---
- 将参数“所需设备功能”(armv6 和 armv7)删除到 info.plist
- 将 SystemConfiguration.framework 添加为可选(以建立薄弱环节)
使用此设置,我的应用程序崩溃:“dyld: Symbol not found: __NSConcreteGlobalBlock”
所以我还应该添加标志“Other Linker Flags”,-weak_library /usr/lib/libSystem.B.dylib
这是我的问题之一:
如果我提交带有“特殊 3G”这些选项的应用程序,是否会考虑这些选项并恢复支持?