通过shell脚本为CocoaPods项目设置PRODUCT_NAME

时间:2016-03-28 13:24:53

标签: ios shell cocoa jenkins xcodebuild

我有一个使用可可豆荚的项目。

我无法在 xcodebuild 中设置 PRODUCT_NAME ,这总是会导致编译时错误。

  

的/ usr /斌/ xcodebuild联编   -scheme $ Scheme -workspace $ WorkSpaceOfProject   -configuration Debug clean build CONFIGURATION_BUILD_DIR = $ PathToApp" CODE_SIGN_IDENTITY = $ CodeSigningIdentity"   " PRODUCT_BUNDLE_IDENTIFIER = $ BundleIdentifier"   " PROVISIONING_PROFILE = $ ProvisioningProfileIdentity" " PRODUCT_NAME   = $ APPNAME"

unknown:0:错误:基础Objective-C模块' Appname'找不到

如果我从上面的脚本中删除 PRODUCT_NAME ,那么它会成功编译,但不幸的是我必须通过脚本设置应用名称

我尝试按照有人的建议设置 -xcconfig ,但它也没有成功。

如何通过脚本更改应用名称,但同时使用可可豆荚编译应用程序?

如果我使用项目文件而不是工作区编译它,它会毫无问题地执行。这是脚本:

  

/ usr / bin / xcodebuild -target $ Target -project $ ProjectFilePathAbsolute   -configuration Debug clean build CONFIGURATION_BUILD_DIR = $ PathToApp" CODE_SIGN_IDENTITY = $ CodeSigningIdentity" " PRODUCT_NAME = $ Appname"   " PRODUCT_BUNDLE_IDENTIFIER = $ BundleIdentifier"   " PROVISIONING_PROFILE = $ ProvisioningProfileIdentity"

但我必须使用工作区进行编译,因为我正在使用cocoapods。

非常欢迎任何建议。

1 个答案:

答案 0 :(得分:0)

我使用 PlistBuddy 解决了上述问题,在xcodebuild命令中我没有使用 PRODUCT_NAME

这是我使用的脚本

  

/ usr / libexec / PlistBuddy -c“Set:CFBundleName test”info.plist

     

/ usr / libexec / PlistBuddy -c“Set:CFBundleDisplayName test”info.plist

     

/ usr / bin / xcodebuild -scheme $ Scheme -workspace $ WorkSpaceOfProject   -configuration Debug clean build CONFIGURATION_BUILD_DIR = $ PathToApp“CODE_SIGN_IDENTITY = $ CodeSigningIdentity”   “PRODUCT_BUNDLE_IDENTIFIER = $ BundleIdentifier”   “PROVISIONING_PROFILE = $ ProvisioningProfileIdentity”“PRODUCT_NAME”   = $ APPNAME“