构建配置和捆绑标识符

18

在 Xamarin 中,有没有一种方法可以针对每个“构建配置”设置“iOS 应用程序目标 Bundle 标识符”?

在 XCode 中,您可以这样做,这意味着可以为不同的企业客户(我们的情况)编译相同的基础代码。

Xamarin Studio 允许创建“构建配置”,并且可以在每个配置中使用不同的配置文件,但似乎没有一种方法来设置 Bundle Id。

请给予建议。谢谢。


2
如果有人想要添加此功能,我已在Xamarin的用户反馈中创建了一个条目:https://xamarin.uservoice.com/forums/144858-xamarin-suggestions/suggestions/4352734-allow-setting-the-bundle-identifier-per-build-conf。欢迎投票。 - rufo
这里有一个关于此问题的Bugzilla评论:https://bugzilla.xamarin.com/show_bug.cgi?id=1118。我在那里得到的回复是:“iOS的MSBuild目标即将完成 - 它们应该作为Xamarin.iOS的一部分发布。”您需要的功能依赖于实现MSBuild目标。 - Justyn
1
更新:上面的错误状态现在显示为已解决。所以,这个功能“应该”现在可用了?我在XS 8.9 / VS插件中看不到它,有人能确认现在是否可用吗? - WickedW
3个回答

12

不能直接修改,但是您可以创建构建前(或后)脚本步骤(请参见项目选项中的自定义命令),其中包括正在构建的配置,即${ProjectConfig}

您可以从脚本中使用像PlistBuddy这样的工具来修改Info.plist文件的值。


好的。我想那就够了 - 如果这是IDE中的一个功能,那就太好了。谢谢。 - rufo
3
请在 https://xamarin.uservoice.com/forums/144858-xamarin-suggestions 上发表您的声音。 - poupou
我同意Rufo的观点 - 这应该是IDE的一部分。我在uservoice报告中增加了3个投票。如果您使用Visual Studio Xamarin插件,它也无法正常工作。在Windows上没有PlistBuddy。 - briangraf
1
有人有这方面的工作示例吗?在Xcode中,这非常容易,但即使在Xamarin中使用After Build命令进行签名,代码签名也会让我感到困扰。 - Stefan Fisk

1
你可以创建一个包含捆绑标识的环境变量,并将其作为预构建步骤添加到plist文件中,这是我在我的项目中所做的。
if [ -n "$MY_BUNDLE_ID" ]; then
    /usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier $MY_BUNDLE_ID" ${PROJECT_DIR}/shell/shell-Info.plist
fi

0

目前还没有直接的方法来实现它。在XCode中创建捆绑标识符,并在您的Xamarin项目中利用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接