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

Setting PRODUCT_NAME for CocoaPods project via shell script

我有一个项目使用 cocoa pods.

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

/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"

未知:0:错误:未找到底层 Objective-C 模块 'Appname'

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

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

如何通过脚本更改应用程序名称,同时使用 cocoa pods 编译应用程序?

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

/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。

非常欢迎任何建议。

我使用 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"