免费预配允许开发者在不加入Applec Developer Program的情况下,可以发布和测试App

注意:免费预配(Free Provisioning)与自动预配(Auto Provisioning)不兼容,要想使用自动预配功能,必须有一个付费的Apple Developer Program账号

使用免费预配的要求:

  • 你所使用的Apple ID不能连接到Apple Developer Program
  • 该App必须有一个明确的App ID,不能带有通配符
  • 该App的bundle identifier必须唯一,并且不能被别的App使用过。免费预配的bundle identifier不允许重复使用
  • 如果你所使用的Apple ID在App Store上发布过App, 你不能使用免费预配
  • 如果你的App要用到App Services,请按这个向导创建预配描述文件

下面一步一步来讲解,开始之前确保你有一台Mac并安装了最新版本的Xcode

一、使用Xcode创建签名标识和预配文件

1.如果你还没有Apple ID, 那就创建一个

2.打开Xcode > Preferences

3.在Accounts下面,点击+添加你的Apple ID, 如下图所示

4.关闭Xcode preferences

5.将iOS设备插入Mac

6.在Xcode里新一个项目,File > New > Project,选择Single View App

7.在新建窗口中,把Team设置成你刚刚添加的Apple ID, 如下图所示

8.项目创建完成后,设置build scheme为你的iOS设备,而非模拟器,如下图所示

9.在Xcode最左侧的项目导航里选中最顶级节点,此时将显示项目设置窗口

10.定位到General > Identity, 确保这里的Bundle Identifier与你的Xamarin.iOS app的Bundle Identifier完全一致, 如图所示

注意:Xcode只会为明确的App ID创建预配描述文件(Provision Profile)。该App ID必须与你的Xamarin.iOS应用的App ID相同。如果不一致,你就无法使用免费预配部署你的Xamarin.iOS应用 

11.在Deployment Info下,确保Deployment Target不高于你的iOS设备上的版本

12.在Signing下面,勾选Automatically manage signing并选择的你的组,如下图所示

Xcode会为你自动创建预配描述文件和签名标识。你可以通过点击provisioning profile旁边的消息图标来查看

13.点击运行按钮,把程序部署到你的设备并验证Xcode是否正常工作

二、部署Xamarin.iOS应用

1.确保你的VS2019已经和Mac完成配对

2.iOS设备连接到Mac(通过USB或者无线的方式)

3.在VS2019的Solution Explorer中,Xamarin.iOS项目上右键,属性 > iOS Bundle Signing

4.Configuration, 选择Debug,Platform, 选择iPhone

5.Bundle Signing下选中Manual Provisioning

6.Signing IdentityProvisioning Profile两项,通过下拉选择Xcode中创建的相应内容,然后点击保存

7.选择iOS设置并运行程序

注意:Xcode创建的Signing Identity和Provision Profile保存在Mac电脑上,VS2019通过配对可以访问到这些信息。如果下拉列表中没找到这些信息,你可能需要重启VS2019。另外,整个过程中iOS设备都是插在Mac电脑上的而不是Windows电脑上

iOS真机调试之免费预配(Free provisioning)的更多相关文章

  1. iOS 真机调试不能连接网络的排错过程

    开发环境: macOS 10.12.1 Xcode 8.1 Qt 5.8 gSOAP 2.8 iPhone 6S+iOS 10.1.1   问题: 使用 Qt Quick 写了一个跨平台的应用,在Wi ...

  2. iOS真机调试之我见

     入职20多天,以前一直以为iOS真机调试是多么复杂的事情,但在公司大牛的帮助下:终于理清头绪,由于公司证书已申请,文章中免不了旁征博引. 1.首先,得有苹果开发者账号,如果在公司,公司会提供:不在公 ...

  3. IOS 真机调试以及发布应用 2

    参考网站:http://my.oschina.net/u/1245365/blog/196420 已经有开发证书的直接跳过第一步 第一步:申请“开发证书” 进入苹果开发者99美元账号: 选择:Cert ...

  4. react native iOS真机调试-联网问题与js严格模式

    rn:strict mode does not allow function declarations in a lexically nested statement https://blog.csd ...

  5. ios真机调试教程(不上架App Store安装到手机)

    原文 不上架App Store安装到手机调试测试,需要用到ios真机调试证书打包的ipa才能安装到非越狱的手机使用. 2017年最新整理的ios真机调试的详细图文步骤流程,轻松的把你开发的ios ap ...

  6. React-Native iOS真机调试(新版)

    2019独角兽企业重金招聘Python工程师标准>>> React-Native iOS真机调试 看到网上很多以前的文章 找到两种方法 一 修改AppDelegate 把URL的替换 ...

  7. IOS 真机调试

    真机调试的步骤: 1.注册成为苹果开发者(99$) 2.登陆苹果开发者主页 https://developer.apple.com/membercenter/index.action 3.点击 Cer ...

  8. iOS真机调试——申请开发者证书

    申请开发者证书 知道了什么是证书,我们现在就开始申请证书了 1. 找到KeyChain钥匙串,在Mac应用里可以找到 2. 在钥匙串的菜单中选择从证书颁发机构请求证书,填写邮件地址,选择储存到磁盘,放 ...

  9. IOS 真机调试以及发布应用 1

    参考网站:http://my.oschina.net/u/1245365/blog/196263   Certificates, Identifiers &Profiles 简介 Certif ...

随机推荐

  1. 解决vs code编写python输出中文乱码问题

    环境: win7 vscode 1.37.0 插件: python Code Runner 乱码问题: 创建一个python文件,运行如下代码,打印显示乱码.: 解决乱码步骤: Ctrl+Shift+ ...

  2. 收下这波 JS 技巧,从此少加班

    各种业务开发都离不开对数据的处理,然而遇到的很多数据都是不好处理的.这个时候就需要寻求搜索引擎的帮助.这种方法效率是非常低下的,而且根据作者的个性不能保证其对自己的口味.因此这篇文字包含了一份 JS ...

  3. 【Swift后台】目录

    背景介绍 环境安装

  4. 获得npm server 上 package 的版本信息

    通过这个命令可以获取package 的历史版本信息 npm view packagename   versions

  5. Oracle【增删改&数据的备份】

    增删改的SQL语句执行完毕后,不会立马进行数据的写入数据库(这时数据在内存中),需要手动对数据进行提交(commit),如果数据出问题,可以使用回滚.主键:非空唯一的 --在一张表中,某字段值是非空唯 ...

  6. eclipse控制台出现中文乱码的问题

    在Eclipse.exe同目录下,在eclipse.ini添加:Dfile.encoding=utf-8

  7. 修改tomcat 端口

    假设tomcat所在目录为/usr/local/apache-tomcat/ 1.打开tomcat配置文件#vi /usr/local/apache-tomcat/conf/server.xml 2. ...

  8. Spring源码解析--Spring的整体架构

    概述 Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用.Spring是于2003 年兴起的一个轻量级的Java 开发框 ...

  9. BZOJ 2809: [Apio2012]dispatching(可并堆 左偏树板题)

    这道题只要读懂题目一切好说. 给出nnn个点的一棵树,每一个点有一个费用vvv和一个领导力aaa,给出费用上限mmm.求下面这个式子的最大值ax∗∣S∣ ( S⊂x的子树, ∑iv[i]≤m )\la ...

  10. BZOJ 1444: [Jsoi2009]有趣的游戏 AC自动机+概率与期望+矩阵乘法

    这道题还比较友好~首先,构建出来 $AC$ 自动机,那么我们要求的就是从 $0$ 号点走无限次走到一个终止节点的概率. 考虑构建转移矩阵 $M,$ $M_{i,j}$ 表示节点 $i$ 转移到节点 $ ...