【问题标题】:Build Xamarin.ios for production via command line on MacOS在 MacOS 上通过命令行构建 Xamarin.ios 以进行生产
【发布时间】:2020-11-28 11:59:54
【问题描述】:

我正在尝试通过命令行编译我的 xamarin.iOS 应用程序的“发布”包 我已经尝试过微软在这里的建议:https://docs.microsoft.com/it-it/xamarin/ios/deploy-test/app-distribution/ipa-support

但它谈论的是 iTunes 和模拟器,而不是关于包的标志

我需要一个 IPA,可以通过 Transporter 应用程序上传到我的开发者帐户并发送以供审核,我该如何实现?

我想了解的另一件事是整个过程是如何运作的 如果我想更改捆绑标识符以创建另一个应用程序(使用相同的代码但使用不同的资源),我需要做的就是更改 info.plis 和 entitlement.plist?

【问题讨论】:

  • 能否请edit 提出您的问题并尝试在“它谈论iTunes”等领域更具体,尝试准确指定您尝试过的内容或添加确切的错误或您看到的其他消息。也许尝试将您的问题分成两部分?

标签: c# ios iphone xamarin


【解决方案1】:

为了生成 IPA 包,您需要在构建时设置以下 MSBuild 属性:

  • BuildIpa - 将此设置为 true 以生成 IPA
  • IpaPackageDir - 将此设置为您希望 IPA 输出的位置
  • IpaPackageName - IPA 文件的名称
  • 平台 - 将此设置为 iPhone 以制作可在 iPhone 上运行的 IPA
  • 配置 - 将此设置为您要使用的构建配置。通常是 Release 或 Ad-Hoc

使用它并将目标设置为 Build,您可以简单地运行 MSBuild 为您生成它。

msbuild my-ios-app.csproj /p:BuildIpa=True /p:IpaPackageDir=path/to/output /p:IpaPackageName=my-ios-app-name.ipa /p:Platform=iPhone /p:Configuration=Release /t:Build

这将为您生成一个 IPA,该 IPA 使用项目属性中给定配置的配置文件和签名证书集进行签名。

关于你的第二个问题。那么是的,Info.plist 规定了应用程序的名称和标识符。与其说是entitlements.plist。

【讨论】:

  • 您好,非常非常感谢您的帮助 但是如果我想更改配置?有没有办法通过命令行指示它?还是没有必要?我的意思是,我有 2 个或多个基于相同代码的应用程序(但正如我之前所说,具有不同的资源、颜色和“基本配置”)我可以使用相同的配置文件吗?或不?对于“两个不同的应用程序”,我的意思是在应用商店中它们实际上是两个不同的应用程序,只有基本代码相同,不同之处在于功能和资源(例如图像或徽标),有些已启用,有些未启用
  • 通常你会让你的 CI 只安装相关的配置文件和签名证书,并在项目属性中将所有内容设置为自动。
  • 应该根据 Info.plist 中的包标识符自动获取正确的配置文件
猜你喜欢
  • 1970-01-01
  • 2017-11-09
  • 2023-04-01
  • 1970-01-01
  • 2017-05-16
  • 2014-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多