Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用phonegap v 2.9为Xcode 4.6版本构建存档失败_Ios_Xcode_Architecture_Cordova_Phonegap Build - Fatal编程技术网

Ios 使用phonegap v 2.9为Xcode 4.6版本构建存档失败

Ios 使用phonegap v 2.9为Xcode 4.6版本构建存档失败,ios,xcode,architecture,cordova,phonegap-build,Ios,Xcode,Architecture,Cordova,Phonegap Build,这似乎是一种反复出现的现象 我看到了之前的一些问题,解决方案是删除armv6, 然后档案就可以工作了。当然,armv6已经不存在了 因此,现在,使用当前的Xcode 4.6.3 phonegap 2.9构建 是的,该应用程序在iPhone、iPad和模拟器上运行良好 我在创建存档步骤结束时收到以下消息: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang

这似乎是一种反复出现的现象

我看到了之前的一些问题,解决方案是删除armv6, 然后档案就可以工作了。当然,armv6已经不存在了

因此,现在,使用当前的Xcode 4.6.3 phonegap 2.9构建 是的,该应用程序在iPhone、iPad和模拟器上运行良好

我在创建存档步骤结束时收到以下消息:

    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -L/Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/BuildProductsPath/Release-iphoneos -F/Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/BuildProductsPath/Release-iphoneos -filelist /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/IntermediateBuildFilesPath/peeq.build/Release-iphoneos/peeq.build/Objects-normal/armv7s/peeq.LinkFileList -dead_strip -weak_framework CoreFoundation -weak_framework UIKit -weak_framework AVFoundation -weak_framework CoreMedia -weak-lSystem -force_load /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/InstallationBuildProductsLocation/Applications/libCordova.a -ObjC -fobjc-link-runtime -miphoneos-version-min=5.0 -framework CoreLocation -framework ImageIO -framework OpenAL -framework AssetsLibrary /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/BuildProductsPath/Release-iphoneos/libCordova.a -framework Foundation -weak_framework UIKit -framework CoreGraphics -framework AddressBook -framework AddressBookUI -framework AudioToolbox -weak_framework AVFoundation -framework CFNetwork -framework MediaPlayer -framework QuartzCore -framework SystemConfiguration -framework MobileCoreServices -weak_framework CoreMedia -framework CoreLocation -o /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/IntermediateBuildFilesPath/peeq.build/Release-iphoneos/peeq.build/Objects-normal/armv7s/peeq

ld: file not found: /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/InstallationBuildProductsLocation/Applications/libCordova.a
clang: error: linker command failed with exit code 1 (use -v to see invocation)
然后看了看那里的文件系统:

cd /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build
./Intermediates/ArchiveIntermediates/peeq/BuildProductsPath/Release-iphoneos/libCordova.a
./Intermediates/ArchiveIntermediates/peeq/IntermediateBuildFilesPath/CordovaLib.build/Release-iphoneos/CordovaLib.build/Objects-normal/armv7/libCordova.a
./Intermediates/ArchiveIntermediates/peeq/IntermediateBuildFilesPath/CordovaLib.build/Release-iphoneos/CordovaLib.build/Objects-normal/armv7s/libCordova.a
./Intermediates/ArchiveIntermediates/peeq/IntermediateBuildFilesPath/UninstalledProducts/libCordova.a
它是建立的,只是没有放在链接器想要找到它的地方

因此,毫无疑问,某些构建设置要么告诉链接器查看那里,要么 告诉构建将其放置在链接器希望找到的位置

除非是别的

我的问题是如何构建应用程序归档 正确,这样它就可以去商店了


一位在苹果公司工作的优秀人士告诉我该往哪里看,在这一点上,问题就解决了

在构建设置的深处,有一个要设置的字段,称为“其他链接器标志”

它开始时没有显示任何值,但如果您单击它,它会弹出Debug和Release

在释放的很长字符串中,可以找到-force_load libCordova.a
并删除字符串的该部分

发件人:

致:

我会说,phonegap默认设置这一点可能是某种形式的错误 同时联系他们,看看他们是否能修复它

他给我指出的便条:

我注意到您的link命令包含以下内容:

-force_load /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/InstallationBuildProductsLocation/Applications/libCordova.a
这是:

/Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/BuildProductsPath/Release-iphoneos/libCordova.a
传递给-force_load的路径是链接器抱怨的伪路径。我认为您需要删除“-force_load”链接器标志。您在“其他链接器标志”设置中设置了这样的标志吗?

找到了修复程序


  • 在目标的构建设置中,查找
    其他链接器标志
  • 更改
    $(TARGET\u BUILD\u DIR)/libCordova.a
  • $(内置产品目录)/libCordova.a

  • 在“其他链接器标志”中更改为“$(Build_PRODUCTS_DIR)/libCordova.a”对我来说不起作用。这个问题仍然存在。(Xcode 4.6.3 phonegap 2.9.0)

    因此,我尝试了下面的设置,它对我很有效

  • 在目标的生成设置中,查找“其他链接器标志”
  • 删除“$(目标构建目录)/libCordova.a”
  • 将“-强制负载”更改为“-所有负载”
  • 这对我起了作用

    =======更新============

    通过上述技巧,我可以实现应用程序并提交到应用程序商店,而不会出现任何问题。
    但我在iTunes Connect中发现它显示“无效二进制文件”。

    谢谢,问题解决了!(不断遇到旧的关于libCordova的描述。a问题…)谢谢!!!为什么cordova总是有这些问题…每一个xcode版本和每一个phonegap版本都让人头疼!!非常感谢。这使我避免了一些严重的头部撞击桌子的情况。谢谢
    Other Linker Flags
    位于“Linking”下,包含多个值,但您可以单击“multiple values”,您需要编辑的部分就在它自己的行上:我不知道我应该责备苹果还是科尔多瓦。但是,尽管最终用户很满意,但苹果总是把cra从devsI中赶出来。我遇到了同样的问题,并解决了它,至少在我的项目中是这样。在这里查看我的答案:仅供参考,我们在XCode 5.1.1和PhoneGap 3.1中得到了相同的结果。我评论底部的修正对我们来说是有效的。
    -force_load /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/InstallationBuildProductsLocation/Applications/libCordova.a
    
    /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/BuildProductsPath/Release-iphoneos/libCordova.a