-
Notifications
You must be signed in to change notification settings - Fork 4
安装私钥APP和员工APP
box-Authorizer(私钥App) box-Staff-Manager(员工App)的安装
BOX是一款全开源的软件,所有代码都可以从BOX官方GitHub仓库下载。为方便使用,BOX团队计划将上架私钥APP和员工APP到苹果官方APPStore。企业和个人也可以自行从GitHub社区仓库下载源代码,通过以下方式编译安装本手机端软件。
一台可以安装Xcode软件的Mac(可以是Mac book也可以是Mac台式机)、iPhone手机(iOS10以上)、git(推荐SourceTree,开源免费,也可以直接安装git命令行工具)源代码。源代码从以下地址下载:
私钥APP:https://github.com/boxproject/box-Authorizer
员工APP:https://github.com/boxproject/box-Staff-Manager
企业和个人在编译使用APP的时候,需要向苹果公司官方申请开发者账号。开发者账号对应有证书,证书是验证APP有效性的唯一途径。开发者账号分为以下几种。
(1)开发者账号分类
注意:个人账号和公司帐号这两个安装设备的上限是100台,在安装使用由企业编译的私钥APP或员工APP前,需要预先将账号证书安装在手机上;企业级账号没有安装设备上限的限制,也不需要预先安装证书到手机。企业可根据自身规模和需求申请相应开发者账号。
(2)开发者账号申请
准备工作:一张开通visa或master功能的信用卡,公司邮箱,公司网站(需与邮箱后缀一致)
- 打开 Apple 开发者账号申请链接地址如下:
点击Enroll(上图红框中按钮),进入申请页面:
- 点击Start Your Enrollment,进入下一页面
- 如果您此时没有登录,会跳转到登录页面先登录您的 Apple ID。之后进入下面的页面:
点击红框内的选项框,可看到如下选项:
这里分别有个人账号、公司账号和企业级账号的选项,(下面以公司账号为例)选择红框内的Company / Organization,您将看到如下提示:
- 这些提示描述了加入公司开发者计划所需要具备的条件,特别注意的是,您的公司必须拥有一个邓白氏码(D-U-N-S? Number)。如果您的公司拥有一个,在后面的步骤中,直接填写即可。如您不清楚,可以点击上图红框中的Check now >,浏览器会为您新建一个窗口/标签,跳转到如下页面:
请按照下面的提示填写相关信息:
- 完成上面的步骤后,如果您的公司已经拥有邓白氏码,将在一步确认之后,发送到您填写的工作邮箱中;如果没有,可以将这个信息提交到邓白氏公司,经审核后会得到邓白氏码。大概2、3天时间,上海邓白氏分公司会给您打电话,核实您提供的公司信息,他们的工作人员会告知您已经接受了您的申请,请耐心等待14天左右,会把邓白氏码发到您预留的邮箱里。
- 回到这个页面
点击Continue,进入下一页,填写相关信息。
- 由于信息较多,将页面分别截图,并提示填写。
8. 以上信息填写完成后,点击红框内的Continue,进入下一页面。
这个页面为最后的信息确认页面,如信息无误,按照图中提示操作,并点击红框内的Submit提交。
- 完成以后,等待苹果公司的确认电话,电话中会核实相关信息,确认完成后,即可填写信用卡信息,缴费,完成申请。
- 申请期间有任何疑问,可以拨打苹果开发者中心的电话400-670-1855咨询。
注:所有过程中,只有在接到苹果公司电话后缴纳开发者计划的首年年费¥688.00,其他步骤均不收费。
- 打开苹果开发者中心:https://developer.apple.com,点击:
Account
下面输入已付款过的Apple
账号和密码登录(如果你的电脑已经保存了密码,会直接进入)
- 点击:
Certificates
,Identifiers & Profiles
(专门生成证书,绑定Bundle Id
,绑定device
设备,生成描述文件的地方) - 点击
Certificates
生成证书:选择iOS, tvOS, watchOS
—>选择All
—>点击右上角新添加证书
- 由于是做
App
上传,选择生产证书(选择App Store and Ad Hoc
)
**注意:**一个开发者账号只能创建(1-2个开发(测试)证书,2-3个生产(发布)证书),如果你的App Store Ad Hoc
前面的按钮不能选择,则代表你的这个账号无法再创建新的生产证书了
然后接上上图,生产证书部分继续
![屏幕快照 2018-04-27 下午3.37.52](image/屏幕快照 2018-04-27 下午3.37.52.png)
- 上传
CSR
文件去获取证书(CSR
文件需要我们到本机钥匙串里去创建)
(1) 在Launchpad
的其他里面,点击钥匙串访问弹出如下界面
(2) 工具栏选择钥匙串访问->证书助理->从证书颁发机构请求证书...
(3)将CSR
文件保存到MAC
磁盘的某个位置(这里我选择的是桌面,进行存储)
![屏幕快照 2018-04-27 下午3.43.25](image/屏幕快照 2018-04-27 下午3.43.25.png)
(6) 然后回到浏览器,点击Choose File...
(7) 选择创建好的:CertificateSigningRequest.certSigningRequest
文件,点击选取
点击Generate
上传证书
(8) 跳转到如下界面,点击 DownLoad 下载生成的证书(cer
后缀的文件),然后点击Done
,你创建的发布证书就会存储在帐号中。
**注意:**这个证书只能下载一次。点击下载后,关闭页面后就不能再回到下载页面了。
- 创建App IDs 绑定App的Bundle Identifier
(1) 点击App IDs,进入如下界面,点击右上角的 + 号
(2) 填写App IDs
和Bundle Identifier
注意:
(1) 上传App
使用的Bundle Identifier
(不要有-
,都是英文+
数字)必须是固定的,不能使用占位符。
(2) 如果你的Bundle Identifier
已经在网站上绑定了,如果你又修改了你工程里面这个Bundle Identifier
的话,需要重新进入到开发者账号里面绑定。
下面选择App
中包含的服务,默认有两项,其余的根据自己项目的需求进行选择
(3) 点击Continue
(4) 点击Register
(5) 点击Done
-
生成描述文件(将证书和Bundle Identifier关联起来)
(1)找到
Provisioning Profiles
,点击All
,然后点击右上角+
号(2)因为是发布,所以选择下面
App Store
这个描述文件,点击Continue
(3)在App ID 这个选项栏里面找到你刚刚创建的:
App IDs
(Bundle Identifier
) 类型的套装,点击Continue
(4)选择你刚创建的发布证书(或者生成p12文件的那个发布证书),根据自己电脑上的发布证书日期来选择,点击Continue
(5)在
Profile Name
栏里输入一个名字(这个是Provisioning Profiles
文件的名字,可随便输入,在这里我用工程名字,便于分别),然后点击Generate
(6)
Download
生成的PP文件,然后点击Done
,双击安装(闪一下就完事了,没其它效果)
申请相应类型开发者账号后,就可以下载Xcode编译器,并且配置开发者证书进行项目打包或者直接用Xcode进行真机安装。
项目下载后,双击如下打开项目
用Xcode工具直接把App安装进手机(command + R),这样的安装需要让所有需要安装的手机通过有线的方式连接到电脑进行安装。
打包安装也叫AD-Hoc安装。将源代码编译后打包成package。
这种方式相比于企业级证书安装,则是限制了安装的设备数量。
a. 与AD-Hoc打包的区别在于选择 Save for Enterprise Deployment
进行打包。
这里要勾选下图这一栏 Include manifest for over-the-air installation.
,勾选以后会生成一个 manifest.plist
的文件,之后发布会用到。不针对某一机型就全选吧
打包完成后得到两个文件 ipa(选中一个通用的就好,其他不用管它)
和 plist
。
制作App安装图标,这里需要两个不同尺寸的图标文件,尺寸分别是 57 * 57
和 512 * 512
,这个是在安装时显示安装进度时的图标,安装完成后显示的还是 App
本身的图标。
然后将 ipa 安装包
以及 图标
文件上传至自己的服务器
b. 修改 manifest.plist 文件
下面三处分别填写对应服务器上文件地址(我这里借用前辈的截图,换你自己服务器的地址就好),且服务器必须支持 HTTPS
协议
c.将 plist 文件上传至服务器
plist
文件可以不用和 ipa 安装包
以及 图标
文件放在一起,只要 plist
文件中的地址指向是正确的就行,并且存放 plist
的服务器必须支持 HTTPS
协议
d.手机安装 App
服务器网址可生成安装二维码,下载安装后,如果想打开 App
还需要在手机 设置
- 通用
- 描述文件与设备管理 (不同系统可能名字不一样)
里面选择相应的 证书
,点击 信任
后即可打开 App
--- BOX Team ---