在没有iOS设备的情况下生成我Xamarin应用的IPA文件

15

我使用Visual Studio 2017和Windows创建了一个适用于Android和iOS设备的Xamarin Forms应用程序。为了测试和构建iOS应用程序,我使用了一台安装了Xamarin Mac Agent的Mac。

现在我需要构建一个IPA文件进行内部测试,但我无法完成这个任务,因为当我为iOS模拟器构建项目时,它没有生成IPA文件。 我也尝试过使用Ad-hoc和AppStore构建选项。

我知道在XCode 7+中,您可以创建一个IPA文件进行内部测试而不需要苹果开发者帐户,但是我是否需要有一台实体的iOS设备才能获得IPA文件呢?

希望您能帮帮我。

4个回答

15
根据您的描述,您想为没有注册Apple Developer Program的设备创建IPA文件。不幸的是,如果您想在没有Apple开发者帐户的情况下创建IPA,则需要拥有物理iOS设备。生成的IPA只能安装在您连接到Xcode的iOS设备上。您可以按照以下步骤使用Xcode和Visual Studio生成没有Apple开发者帐户的IPA:
1. 创建一个免费的Apple ID。或使用现有的。 2. 将Apple ID添加到Xcode的帐户中,它显示为免费帐户的个人团队。(Xcode->首选项->帐户)

enter image description here


  1. 进入Xcode->Target->General。将Bundle Identifier设置为与Visual Studio Xamarin项目中设置的相同。这非常重要,因为Xcode将根据Bundle Identifier和iOS设备的UDID生成配置文件。

  2. 进入签名部分。选中“自动管理签名”复选框。在团队下拉列表中选择您的个人团队。现在,Xcode将自动生成一个配置文件。 enter image description here

  3. 现在,转到Visual Studio,选择一个配置来设置设置,这里我使用Ad-HociPhone。进入iOS Bundle Signing选项卡,选择包含您的Apple ID的签名标识符。选择包含您之前设置的Bundle Identifier的配置文件。 enter image description here

  4. iOS IPA Options中选中Ad-Hoc和iPhone的“Build iTunes Package Archive(IPA)”复选框。 enter image description here

  5. 确保Bundle Identifier与Xcode中使用的相同。 enter image description here

  6. 构建您的项目。然后右键单击您的项目,单击“在文件资源管理器中打开文件夹”。在bin\iPhone\Ad-Hoc文件夹中找到IPA。

  7. 此IPA使用免费配置文件生成。因此,它无法通过iTunes安装。但是可以通过Xcode->Window->Device安装它。单击“+”并选择您的IPA进行安装。 enter image description here

  8. 当IPA安装完成后,您不能立即使用它。您需要先信任它。在您的iPhone上转到“设置”->“通用”->“描述文件和设备管理”。找到以您的Apple ID电子邮件命名的配置文件。单击并信任它。

  9. 现在您可以运行您的应用程序。

顺便说一句,最好的解决方案是加入Apple开发者计划,这样你就可以在多达100台设备上进行测试,并且可以通过OTA或其他工具进行部署,而无需使用Xcode。


4

答案

是的,您不需要连接任何物理设备来生成IPA文件。

步骤

  1. 选择发布模式
  2. 从“仅构建设备”中选择通用设备

    enter image description here

    有关配置的更多信息,请查看下面的图像

    enter image description here

    enter image description here

看起来我需要将iOS设备与我的Apple ID账户关联,以便获取配置文件。 - ganchito55
@ganchito55,是的,没错。根据你的问题,你想在没有任何物理设备的情况下生成IPA。并且你可以在发布模式下生成IPA。 - Pavan V Parekh

1

不需要连接物理设备即可生成IPA文件。

我通常将解决方案配置设置为Ad-Hoc,解决方案平台设置为Any CPU。

我还确保我有一个正确设置的预配文件,其中包含我想要测试的设备UDID,并且通常使用通配符项目ID。确保在项目选项中选择此选项。

这是一篇好的文章,介绍如何设置设备、签名证书和预配文件。


那么,如果您不知道设备的UDID,就没有其他选项了吗? - ganchito55
Ad-Hoc构建需要您提供要运行的设备的UDID,并生成包含它们的配置文件。 - Steve Chadbourne

1

输出ipa文件并进行测试分发:

  1. 将配置设置为Ad-Hoc
  2. 确保在项目属性的iOS Bundle Signing部分中设置了正确的预配文件。 enter image description here
  3. 确保在iOS IPA Options中,您已经勾选了Build Itunes Package Archive选项。 enter image description here

使用这个选项,我得到了以下错误: 在钥匙串中找不到有效的iOS代码签名密钥。您需要从https://developer.apple.com请求一个代码签名证书。 - ganchito55
1
是的,您需要有效的配置文件。您可以参考此文章 https://developer.xamarin.com/guides/ios/getting_started/installation/device_provisioning/ - lowleetak
@lowleetak,我的配置中没有Ad-Hoc,只有发布和调试,请给予建议。 - Wessam El Mahdy
1
@Wessam,您可以随时创建新的解决方案配置,并根据您的需求修改配置。在我的回答中,只是为了确保您用于构建AdHoc发布的配置中已选中“Build IPA”选项。 - lowleetak
@lowleetak 谢谢。是否可以使用免费的配置文件使Ad-Hoc可见?我可以在没有任何物理设备插入的情况下创建配置文件吗? - Wessam El Mahdy
1
@Wessam,是的,你可以使用免费的配置文件。事实上,你可以创建没有任何配置文件的配置。此外,你不需要将设备插入到你的机器上来创建配置文件。 - lowleetak

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