假设您需要构建50个除名称外的相同iOS应用程序。在构建应用程序之后,是否可以更改名称(包显示名称)和bundleid,以便您可以提前预先构建它们,而无需在构建时知道名称?
答案 0 :(得分:2)
更改捆绑包ID(在info.plist文件中),它将被iOS和App Store识别为不同的应用程序。
并更改显示名称以更改应用的显示名称。
您可以在此处详细了解捆绑包ID:https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringYourApp/ConfiguringYourApp.html
虽然如果应用程序具有使用捆绑包ID的特殊权利(例如iCloud或推送通知),您可能会遇到问题。
答案 1 :(得分:2)
将新运行脚本阶段的构建阶段添加到目标。
您可以轻松地将值插入XML文件(您需要在最后</dict></plist>
之前插入此条目:
<key>CFBundleDisplayName</key>
<string>SO-35259889</string>
或者,使用PlistBuddy:
DISPLAY_NAME="SO-35259889"
/usr/libexec/PlistBuddy -c "Set :CFBundleDisplayName $DISPLAY_NAME" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
然后问题变为&#34;我可以在构建阶段更改 info.plist 值吗?&#34;,可以找到答案here。
答案 2 :(得分:0)
因此,从理论上讲,您可以更改显示名称,并在具有不同显示名称的不同git分支上拥有50个相同的应用程序。
以下是如何做到的:https://stackoverflow.com/a/239006
也就是说,Apple会拒绝向App Store提交重复内容。此外,您的设备不会将其视为不同的应用。