繁体   English   中英

Xcode-命令行构建

[英]Xcode - command line build

我一直在创建一个shell脚本,它将使我可以从我的工作项目中存档和提取ipa文件。

#!/bin/sh
cd `dirname $0`
xcodebuild -scheme appName clean archive -archivePath ./build/AppName
xcodebuild -exportArchive -exportOptionsPlist ./build/exportOptions.plist -archivePath  ./build/AppName.xcarchive -exportPath ./build/appName

exportOptions.plist为:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>method</key>
        <string>ad-hoc</string>
    </dict>
</plist>

我将进一步需要一种将Bundle标识符和Team更改为客户的方法。 PRODUCT_BUNDLE_IDENTIFIER=$com.changed.appname添加到xcodebuild的第一行,它将把Bundle标识符更改为我需要的标识符吗?

xcodebuild -scheme appName PRODUCT_BUNDLE_IDENTIFIER=$com.changed.appname clean archive -archivePath ./build/AppName

这是正确的吗 ? 那团队呢? 还是应该对这些设置使用exportOptions.plist?

谢谢。

您可以使用这些命令直接操作项目文件。 根据我的经验,xcodebuild命令有时不接受我们作为配置文件,团队ID等传递的参数。

因此,确保已更改所需方式的最佳方法是操纵xcodeproj文件

  1. 将配置样式更改为手动

sed -ie "s/ProvisioningStyle = \\".*\\"/ProvisioningStyle = \\"Manual\\"/" <project_name>.xcodeproj/project.pbxproj

  1. 更改代码签名身份

sed -ie "s/CODE_SIGN_IDENTITY = \\".*\\"/CODE_SIGN_IDENTITY = \\"<signing_identity_name>\\"/g" <project_name>.xcodeproj/project.pbxproj

  1. 更改配置文件

sed -ie "s/PROVISIONING_PROFILE = \\".*\\"/PROVISIONING_PROFILE = \\"<provisioning_profile_udid>\\"/g" <project_name>.xcodeproj/project.pbxproj

sed -ie "s/PROVISIONING_PROFILE_SPECIFIER = \\".*\\"/PROVISIONING_PROFILE_SPECIFIER = \\"<provisioning_profile_name>\\”/g" <project_name>.xcodeproj/project.pbxproj

注意:请注意空格,此方法使用正则表达式来匹配和替换项目文件中的值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM