Objective c CocoaPods中间文件生成失败,xcodebuild
我试图让xcodebuild与CocoaPods项目一起工作,但遇到了一个问题。我在跑步:Objective c CocoaPods中间文件生成失败,xcodebuild,objective-c,xcode5,cocoapods,xcodebuild,libtool,Objective C,Xcode5,Cocoapods,Xcodebuild,Libtool,我试图让xcodebuild与CocoaPods项目一起工作,但遇到了一个问题。我在跑步: xcodebuild -workspace 'MyWorkspace.xcworkspace' -scheme DefaultScheme -configuration Release CODE_SIGN_IDENTITY="Distribution Profile" PRODUCT_NAME="MyProduct" 我得到以下错误: The following build commands faile
xcodebuild -workspace 'MyWorkspace.xcworkspace' -scheme DefaultScheme -configuration Release CODE_SIGN_IDENTITY="Distribution Profile" PRODUCT_NAME="MyProduct"
我得到以下错误:
The following build commands failed:
Libtool /Users/myuser/repos/MyProjectDir/Build/Intermediates/Pods.build/Release-iphoneos/Pods.build/Objects-normal/armv7s/libsupport.a normal armv7s
Libtool /Users/myuser/repos/MyProjectDir/Build/Intermediates/Pods.build/Release-iphoneos/Pods.build/Objects-normal/arm64/libsupport.a normal arm64
Libtool /Users/myuser/repos/MyProjectDir/Build/Intermediates/Pods.build/Release-iphoneos/Pods.build/Objects-normal/armv7/libsupport.a normal armv7
构建在xcode中工作良好。我已经在谷歌上搜索到了这个问题,但还没有找到解决办法。有人有什么想法吗
编辑:我还为每个豆荚得到两行,如下所示
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: can't locate file for: -lPods-AFNetworking
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: -lPods-AFNetworking is not an object file (not allowed in a library)
第二次编辑:如果我省略PRODUCT_NAME参数,效果会非常好。这是怎么回事?结果是,
xcodebuild
不喜欢将PRODUCT\u NAME
参数作为最后一个参数。我完全删除了论点,一切都建立起来了。然后,我将产品名称
移动到代码签名(IDENTITY
之前),它成功了。所以,我认为它可能是第二次构建的,因为pods资源是构建的,并且位于派生数据文件夹中。为了验证这一点,我去掉了派生数据并再次构建(最后使用PRODUCT\u NAME
参数),它构建得很好
老实说,我不知道到底是什么问题。也许这会在将来帮助一些人。如果有人有一个真正的解决方案,我很想听听。不幸的是
xcodebuild
是我使用过的最糟糕的文档工具之一。可能提到的字符就是问题的症结所在,但我永远不知道:/我可以补充的是,一般来说,您应该避免通过命令行传递参数,例如PRODUCT\u NAME
。创建多个配置并在构建工件时切换它们要好得多。根据我的经验,我知道这些争论有时会导致奇怪的行为。我也有同样的问题,并找到了问题的根本原因
环境:Xcode 6.1(6A1052c)、OSX 10.10(14A389)和CocoaPods用于CocoaLumberjack
问题
原因是PRODUCT_NAME属性不仅影响cocoapod的build*.app,还影响library*.a文件
在我的场景中,我需要构建许多*.app文件,这些文件具有不同的产品名称,并且在图像资源和设置方面略有不同。因此,我想在一个构建脚本中构建不同的*.app文件,我只需点击一下就可以触发这个过程
如果我们在以下命令中使用*.xcworkspace在xcodebuild的选项中设置PRODUCT_NAME,会发生以下情况:
xcodebuild -workspace $PROJECT_NAME.xcworkspace \
-scheme $PROJECT_NAME \
-configuration Distribution \
CONFIGURATION_BUILD_DIR=$PROJECT_SRC/build \
PRODUCT_NAME=$NEW_PRODUCT_NAME build
xcodebuild -project Pods/Pods.xcodeproj build
图像和设置。希望这能帮助有同样问题的人。我现在也面临同样的问题。当我单独构建pods项目时,根项目的构建会失败,因为无法找到pod依赖项,就像您在“(别忘了包含所有必要的库)”中提到的那样。但是我不能把这个带到工作中去。我要把它们包括在哪里?什么是$OTHER_路径“?
xcodebuild -project $(TARGET_PROJ) \
-configuration Distribution \
-target $(TARGET_TAR) \
PRODUCT_NAME=$(NEW_PRODUCT_NAME) \
LIBRARY_SEARCH_PATHS="./Pods/build/Release-iphoneos $OTHER_PATH"