发表日期:2016-07 文章编辑:小灯 浏览次数:1866
本文译自:Provision iOS IPA App for In-House Enterprise Distribution
在企业内部分发 iOS 应用程序非常复杂。经过努力,我成功实现了在企业内部的应用程序分发。我决定用此文来记录我的最佳实践方法,以供将来参考。
如果你希望通过 Safari 能在任意的 iOS 设备上安装应用程序 (不需要发布到 App Store,也不需要通过 iTunes,以及 MDM - 通过 MDM 方法会用到本文创建的 IPA 和 manifest,那么这篇文章可以帮助你。
在开始发布企业应用之前,需要具备以下条件:
必须是 iOS Developer Enterprise Program 中的团队成员 (至少是一个 admin)。每年需要向苹果支付费用 299$。普通的 iOS Developer Program 无法进行企业应用发布。腻味苹果希望额外确保客户能够对你和你的公司信任,所以你需要申请企业计划。公司的 CEO 需要跟苹果签一个合同。
域名需要一个有效的 SSL 证书,该域名用来放置应用程序。没有有效的 SSL 证书,iOS 设备将无法从站点安装应用程序。这样的 SSL 证书也非常昂贵。
下面介绍一下我开发中的相关环境配置。我使用 Xcode 5.1,和 iOS 7.1。我还是一个 iOS Developer Program team 的 admin 成员。互联网上我发现许多过时的相关设置。如果在以后,你发现了错误,或者有更好的解决方案,请回复告诉我!
要想按照本文完成应用的企业分发,必须按照以下内容作为出发点:
在 Xcode 中有一个用于企业级分发的工程。
在 iOS Developer Enterprise Program team 中为此工程创建一个 App ID。稍后将在 配置文件中使用到这个 ID。如果还没有准备好这些,先来这里创建一个恰当的 App ID。此处不再详细介绍如何创建 App ID。
在本文中,我们将创建下面这些内容:
创建发布证书 (distribution certificate)
创建配置文件 (provisioning profile)
创建 IPA 和 manifest
创建发布证书 (distribution certificate)
针对企业级发布,需要一个发布证书 (发布证书与开发证书不同)对代码进行签名。这个证书仅对创建发布的应用程序有用。不能在 Xcode 的开发中使用。
如何获得发布证书:在 iOS Dev Center 中,导航至 Certificates 小节。这里需要登录到企业开发中心!另外还需要一个至少是 admin 的角色成员 (点击查阅iOS 开发中心更多关于角色介绍)。然后点击 Production,会看到如下内容 (敏感部位已经涂黑)
创建配置文件 (provisioning profile)
要创建用于发布的配置文件,定位到 Provisioning Profiles 的 Distribution 小节。然后点击右上角的 ➕ 按钮。现在看到如下图所示界面:
创建 IPA 和 manifest
打开 Xcode,开始创建 IPA 文件。单击左上角中的项目名称。在中间区域,选择targets
中的项目名称。选择顶部的General
。在Team
中,选择 iOS Developer Enterprise Program 团队的名称。(为了本文,我选择了私人账号中的团队,记得用企业团队替代!):
<a href="itms-services://?action=download-manifest&url=https://mydomain.com/apps/MyInHouseApp.plist" id="text">Install the In-House App</a>
manifest 文件的路径必须是HTTPS
!将 html 文件跟 IPA 和 manifest 文件一起放置到服务器上。
现在我们来了解一下 HTTPS/SSL:为了能够通过互联网安装 IPA 文件,自从 iOS 7.1 以来,苹果就强制要求,manifest 文件必须通过 HTTPS 方式加载。
为了允许 IPA 文件安装成功,HTTPS 连接需要用 SSL 证书来认证,这个证书是从证书签发中心那里针对域名注册得到的。这样的证书非常的昂贵。不过你都已经为 iOS Enterprise Developer Program 支付了299$,那证书的价格就不算什么了。
为了安装 IPA,我们在 iOS 设备的 Safari 中输入 html 文件的 URL 地址(以 HTTPS 开头),然后点击链接,并确认安装提示。
如果安装过程中又错误提示框,大多数时候这个错误提示框无法定位具体原因。为了找到错误原因,将 iOS 设备连接到电脑,在 Xcode 中的 Organizer 里面选择对应设备中的 Console,就可以看到并分析相关的日志信息:
NSErrorFailingURLStringKey=https://johannesluderschmidt.de/app/appName.plist, NSUnderlyingError=0x165c7f30 “The certificate for this server is invalid. You might be connecting to a server that is pretending to be “johannesluderschmidt.de” which could put your confidential information at risk.”
看吧,Safari 给的提示信息很少,但是在 console 中提供的信息就非常有用。
就是这样啦。非常容易,不是吗?我大约用了一天时间,并查阅了 stackoverflow 中的许多文章就搞定在企业内部分发 iOS 应用程序的技术原理了。
希望你也能很快掌握!
原文地址:http://beyondvincent.com/2014/07/30/2014-07-30-provision-ios-ipa-app-for-in-house-enterprise-distribution/
日期:2018-04 浏览次数:6763
日期:2017-02 浏览次数:3438
日期:2017-09 浏览次数:3659
日期:2017-12 浏览次数:3529
日期:2018-12 浏览次数:4819
日期:2016-12 浏览次数:4584
日期:2017-07 浏览次数:13647
日期:2017-12 浏览次数:3508
日期:2018-06 浏览次数:4267
日期:2018-05 浏览次数:4446
日期:2017-12 浏览次数:3558
日期:2017-06 浏览次数:3984
日期:2018-01 浏览次数:3945
日期:2016-12 浏览次数:3915
日期:2018-08 浏览次数:4428
日期:2017-12 浏览次数:3708
日期:2016-09 浏览次数:6407
日期:2018-07 浏览次数:3208
日期:2016-12 浏览次数:3232
日期:2018-10 浏览次数:3386
日期:2018-10 浏览次数:3482
日期:2018-09 浏览次数:3580
日期:2018-02 浏览次数:3600
日期:2015-05 浏览次数:3521
日期:2018-09 浏览次数:3308
日期:2018-06 浏览次数:3435
日期:2017-02 浏览次数:3874
日期:2018-02 浏览次数:4339
日期:2018-02 浏览次数:4176
日期:2016-12 浏览次数:3574
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.