iPad 1应用程序的Phonegap / Xcode问题

时间:2015-01-12 16:07:48

标签: ios xcode ipad cordova ipa

我在iPad 1上使用iPad应用程序时遇到问题。

我已经获得应用程序在iPad 2上成功部署和安装,但在iPad 1上安装应用程序不起作用。该应用似乎已安装,但图标在完成后消失。重新启动iPad后,图标会重新出现,但是当打开应用程序时会弹出启动画面,然后关闭应用程序而不会出现任何错误。

该应用程序是一个简单的HTML5&使用phonegap创建的JS应用程序,我目前有其他iPad 1运行此应用程序。运行应用程序的iPad 1目前是由外部开发人员打包的,他已经消失但我正在使用他的源代码。有人告诉我,从版本3.5开始,phonegap掉了ios 5.1支持,所以我也尝试将我的phonegap版本回滚到最新版本的3.4。我也试过一些设置,比如构建体系结构。

我的应用程序适用于内部企业使用,而不适用于App Store。


有用的信息:

iPad iOS版本:5.1.1(9B206)

Phonegap版本:3.4.0-0.20.0 / 4.1.2-0.22.12

Xcode版本:6.1

Xcode iOS部署目标:5.1.1

架构:标准 - $(ARCHS_STANDARD)

有效架构:armv6,armv7,arm64

App是一个基本的HTML5应用

我正在处理目前在iPad 1上的完全正常工作的现场版的源代码


我还尝试过:

架构:$(ARCHS_STANDARD_32BIT)

有效架构:armv6,arm64

错误:没有要编译的体系结构(ARCHS =,VALID_ARCHS = armv6 arm64)。

架构:$(ARCHS_STANDARD_32BIT)armv6

有效架构:$(ARCHS_STANDARD_32BIT)armv6

导出应用时导致Xcode崩溃 - 在存档阶段有3个依赖关系分析警告


调试器输出:

2015-01-12 16:50:27.316 MyApp [227:707]多任务 - >设备:是,应用:是 dyld:惰性符号绑定失败:未找到符号:_objc_setProperty_nonatomic_copy   参考自:/var/mobile/Applications/305DAE80-626C-4CD9-AB47-0139F97B731D/MyApp.app/MyApp   预期在:/usr/lib/libobjc.A.dylib

dyld:未找到符号:_objc_setProperty_nonatomic_copy   参考自:/var/mobile/Applications/305DAE80-626C-4CD9-AB47-0139F97B731D/MyApp.app/MyApp   预期在:/usr/lib/libobjc.A.dylib


非常感谢任何有助于解决此问题的帮助。如果您需要任何其他信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

尽管没有任何帮助论坛(包括苹果开发者论坛)的回复,但我自己设法解决了这个问题。所以我会尝试给出一个非常友好的答案,因为我觉得这是一个非常缺乏的东西。

iPad 1的iOS版本最高为5.1.1,不支持64位应用。

要在phonegap应用上构建iOS 5.1.1+(iPad 1)兼容性,请设置项目的部署目标,并将目标设置为5.1.1(您需要手动输入)。 (通过单击下图中右侧的下拉菜单在项目和目标之间切换)

enter image description here

然后单击上图中左侧的Project导航器图标。在侧边栏中,您应该拥有项目文件,包括config.xml,www文件夹等。在此列表中,您应该看到CordovaLib.xcodeproj文件夹。

enter image description here

此项目文件默认为iOS 6.0的部署目标,将目标更改为iOS 5.1将使静态库CordovaLib与您的iPad 1兼容。

现在,开始构建和存档应用程序。由于iPad 1不支持64位应用程序,因此在Build Settings下使用$(ARCHS_STANDARD)作为Architectures选项,将导致您的应用无法在iPad 1上安装。

要解决此问题,请双击“标准版”以删除该选项。标签,在架构上并替换' $(ARCHS_STANDARD)' armv7

现在设置选项' Build Active Architecture Only'到。您现在应该可以离开“有效架构”。设置为$(ARCHS_STANDARD) - (将显示为armv7 arm64)。此设置将强制应用程序构建为armv7。允许使用arm64(64位)构建应用程序将导致应用程序在分发时无法下载/安装。

您的应用现在应安装在iPad 1上。


如果您在安装后消失了应用程序图标有任何问题,但在重新启动iPad 1后重新出现,请确保项目文件中的软件包标识符与您主文件夹中config.xml中的软件包标识符相同项目

这是由于这两个文件中的包标识符不匹配所致。