在没有iOS设备的情况下生成我的Xamarin App的IPA文件
我已经从Visual Studio 2017和Windows为Android和iOS设备创建了一个Xamarin Forms App。 为了测试和构建iOS应用程序,我使用了Mac和Xamarin Mac Agent。
现在我必须为内部测试构建一个IPA文件,但是我无法做到,因为当我为iOS模拟器构建我的项目时,它不会生成IPA文件。 我也尝试使用Ad-hoc和AppStore构建选项。
我知道使用XCode 7+,您可以创建一个IPA文件进行内部测试而无需Apple开发者帐户,但是我是否需要拥有物理iOS设备才能获得IPA文件?
我希望你能帮助我。
我知道使用XCode 7+,您可以创建一个IPA文件进行内部测试而无需Apple开发者帐户,但是我是否需要拥有物理iOS设备才能获得IPA文件?
根据您的描述,您希望在不注册Apple Developer Program的情况下为设备创建IPA。
不幸的是,如果您想在没有Apple开发者帐户的情况下创建IPA, 您需要拥有物理iOS设备才能实现这一目标 。 生成的IPA只能安装在连接到Xcode的iOS设备上。
您可以按照以下步骤生成IPA,而无需使用Xcode和Visual Studio的Apple Developer帐户:
- 创建一个免费的Apple ID。 或者使用现有的。
- 在Xcode的帐户中添加Apple ID,它显示为免费帐户的个人团队。 (Xcode- – >首>帐户)
-
转到Xcode-> Target-> General。 将Bundle Identifier设置为与您在Visual Studio Xamarin项目中设置的相同。 这非常重要,因为Xcode将根据Bundle Identifier和iOS设备的UDID生成配置文件。
-
转到签名部分。 选中自动管理签名复选框。 在团队下拉列表中选择您的个人团队。 现在,Xcode将自动为您生成配置文件。
-
现在,转到Visual Studio,选择一个配置来设置设置,这里我使用的是Ad-Hoc和iPhone 。 转到iOS Bundle Signing选项卡,选择包含Apple ID的签名标识符。 并选择您的Provisioning Profile,其中包含您之前设置的Bundle Identifier。
-
检查iOS IPA选项中的Build iTunes Package Archive(IPA)复选框,用于Ad-Hoc和iPhone。
-
确保捆绑标识符与Xcode中使用的标识符相同。
-
建立你的项目。 然后右键单击您的项目,单击“在文件资源管理器中打开文件夹”。 在bin \ iPhone \ Ad-Hoc文件夹中找到IPA。
-
此IPA通过免费配置生成。 因此,它无法通过iTunes安装。 但它可以通过Xcode-> Window-> Device安装。 单击“+”并选择您的IPA进行安装。
-
安装IPA后,您无法立即使用它。 你需要先信任它。 转到iPhone上的设置 – >常规 – >配置文件和设备管理。 找到Apple ID电子邮件命名的个人资料。 单击并信任它。
-
现在您可以运行您的应用。
顺便说一下,最好的解决方案是注册Apple Developer Program ,然后你可以部署到多达100个设备进行测试,并且可以通过OTA或其他没有Xcode的工具进行部署。
要输出ipa文件并将其分发以进行测试:
- 将您的配置设置为
Ad-Hoc
- 确保在Project属性的
iOS Bundle Signing
部分中设置了正确的配置文件。 - 确保在
iOS IPA Options
,您已选中Build Itunes Package Archive
回答
是的,您无需连接任何物理设备即可生成IPA。
脚步
- 选择Relaese模式
- 从仅构建设备中选择通用设备
有关配置的更多信息,请查看下面的图像
不,您不需要连接物理设备来生成IPA。
我通常将解决方案配置设置为Ad-Hoc和解决方案平台到任何CPU。
我还确保我正确设置了一个配置文件,其中包含我要测试的设备UDID,并且通常使用通配符项目ID。 确保在项目选项中选择了此项。
这是一篇关于如何设置设备,签署证书和配置文件的好文章
- 将Cocos2D添加到xCode 4中的项目中
- iOS使用NSJSONSerialization在POST请求中发送JSON数据
- UITableViewCell中的UILabel可以创build一个自定义的单元格,而不需要创build单独的类
- Xcode 7和openCV(没有Swift):Core.hpp头文件必须编译为C ++
- UICollectionView – dynamic细胞高度?
- 在Twitter App IOS上打开链接
- iPhone iOS 2.0到iOS 4.0 SQLite兼容性
- 通过CKSubscription观察CKRecord删除不起作用
- UIImagePickerControllerDelegate从iOS 11中的拾取图像中获取日期