公司内部iOS的应用程序分发(企业内部分发iOS应用程序)

(警告,交通减少)
在公司内部准备和分发iOS应用程序并非易事,特别是当该应用程序是使用Visual Studio在Windows上编写的,并且Internet上的大多数教程都只使用Xcode来描述MacOS时。 但是,在与Apple的创意家进行了数小时的争斗之后,我们设法完成了似乎不可能的事情,即:在与长颈鹿和犀牛一起穿越后 ,将Xamarin IOS应用程序组装到Xcode档案中,并在MacOS上获得所需的分发文件后立即将其组装到Xcode档案中,并最终创建一个链接该应用程序将被分发。

是的,这并不难听。 但是,在为Apple设备开发应用程序时,一切变得数不清且复杂。 在取得了胜利但艰难的胜利之后,我们希望通过编写本教程在历史上留下自己的印记。


先决条件:

1.必须有一个Apple Enterprise帐户-每年$ 299。

1个步骤。 创建一个证书。


1.首先,在Mac上,您需要创建一个创建证书的请求。 为此,例如,通过搜索打开钥匙串访问:





2.在屏幕的左上角选择“钥匙串访问”,然后在弹出菜单中选择“证书助手”->“从证书颁发机构请求证书”,将打开相应的窗口:





3.在出现的窗口中,填写“用户电子邮件地址”(您的电子邮件)和“公用名”(密钥名)字段。 并选择“保存到磁盘”将请求文件保存到计算机。 然后按“继续”按钮:



4.接下来,将出现一个窗口,您需要在其中指定请求文件的名称并选择保存文件的路径。 我们进行必要的更改并保存:



5.成功保存后,将出现以下窗口。 点击“完成”:



6.之后,我们可以看到请求文件是在保存位置(在此示例中,在桌面上)中创建的。 或者我们可以在“钥匙串访问”的钥匙列表中看到创建的钥匙:





7.接下来,我们需要创建一个证书,我们可以通过登录我们的帐户在Apple网站上为开发人员执行此操作:







8.成功登录后,我们转到“证书,ID和配置文件”,同样在证书页面上,您还需要确保已选择“ IOS,tvOS,watchOS”:





9.接下来,在页面的“证书”部分中,选择“生产”:



10.在页​​面上,单击带有“ +”图像的按钮以创建证书。 出现一个页面,您需要在该页面上选择要创建的证书的类型:





11.在此示例中,我们对内部分配方法感兴趣,因此选择“内部和临时”作为证书类型。 单击“继续”按钮后:



12.在转到创建证书的下一页之后,它将描述如何创建MacOS证书请求。 我们已经在前面的段落中创建了此请求。 按下“继续”按钮:



13.在下一步中,您将需要下载我们先前在桌面上创建的请求文件。 成功下载后,单击“继续”:





14.之后,将生成证书,并且可以在下一页将其下载到计算机:



15.在本示例中,将证书下载到桌面。 我们还可以在网站上看到创建的证书:





如我们所见,最终我们成功获得了证书。 下一步是创建应用程序ID。

2步骤。 创建应用ID。


在上一步中,我们成功创建了证书,现在我们需要创建Apps ID。 为此,您需要:

1.在Apple开发人员网站上,首先使用您的帐户进入“证书,ID和配置文件”,同时在证书页面上还需要确保选择“ IOS,tvOS,watchOS”:





2.接下来,在页面的“标识符”部分中,您需要选择“应用程序ID”:





3.在页面上,单击带有“ +”图像的按钮以创建应用程序ID。 出现一个页面,您需要在该页面上为创建的ID选择设置。 ID设置针对您的应用程序是单独的,唯一重要的说明是,在后缀的“ App ID”列中,您需要选择“ Explicit App ID”:





4.创建应用程序ID后,可以在网站上看到它:



经过两个步骤,我们成功获得了证书并创建了应用ID。 接下来,我们需要使用创建的证书来创建配置文件。 这将我们引向下一步,“ 3步。 创建配置文件。”

3步骤。 创建配置文件。


在上一步中,我们成功创建了证书,现在我们需要使用它来创建配置文件。 为此,您需要:

1.在Apple开发人员网站上,首先使用您的帐户进入“证书,ID和配置文件”,同时在证书页面上还需要确保选择“ IOS,tvOS,watchOS”:





2.接下来,在页面的“ Provisioning Profiles”部分中,选择“ Distribution”:





3.在页面上,单击带有“ +”图像的按钮以创建配置文件。 出现一个页面,您需要在该页面上选择要创建的配置文件的类型:



4.在此示例中,我们对内部分配方法感兴趣,分别选择“内部”配置文件的类型,然后单击“继续”按钮:



5.在下一页上,在步骤2中选择先前创建的App ID:



6.单击“继续”按钮后,我们将继续选择证书,我们在步骤1中创建了它。 接下来,单击“继续”按钮:



7.在下一页上,我们需要在配置文件名称字段中填写并检查数据,然后再生成配置文件:



8.生成配置文件并可以下载之后:



9.在此示例中,将“配置文件”下载到桌面。 我们还可以在站点上看到创建的配置文件,并查看它是否处于活动状态:





遵循3个步骤的结果,我们已经成功创建了Provisioning Profile。

4步骤。 在Windows上的Visual Studio中基于您的应用程序创建Xcode存档(.xcarchive),然后创建.ipa和.plist文件


前面的步骤是在Apple(Mac)的计算机上执行的,然后我将告诉您如何在Mac上的Visual Studio 2017 for Windows中立即创建.xcarchive。

1.为此,我们需要将Visual Studio中的Xamarin应用程序连接到Mac:



2.在解决方案中,您需要通过右键单击选择IOS项目。 在出现的菜单中,选择“属性”。 在打开的窗口中,选择“ iOS捆绑包设置”。 接下来,在“捆绑设置”-“手动配置”中选择,然后在“手动配置”列下方选择我们在先前步骤中创建的证书和配置文件:





3.在IOS项目中,选择Info.plist文件,并确保“捆绑包标识符”与所需的App ID匹配:





4.之后,在Visual Studio中以管理员身份打开开发人员命令行“ VS 2017开发人员命令提示符”,然后转到ios项目所在的目录,或者在创建命令时指定完整地址。 此命令将从Visual Studio在Mac上创建一个.xcarchive存档。 存档本身不包含我们需要分发的.ipa和.plist文件,因此在生成存档后,我们需要创建它们。 在此处了解有关如何创建档案的更多信息。

命令: msbuild /p:Configuration=Release /p:ServerAddress=10.211.55.2 /p:ServerUser=xamUser /p:Platform=iPhone /p:ArchiveOnBuild=true /t:"Build" MyProject.csproj





5.在Mac上成功执行命令后,应该已经创建了归档文件。 我们需要运行Xcode,在其中选择“ Windows”,然后在此菜单中选择“ Organazer”。 在“存档”部分,我们将看到创建的.xcarchive存档:







6.现在,我们需要基于创建的存档创建.ipa和.plist文件。

在他们的帮助下,我们可以绕过AppStore分发我们的应用程序,例如,在公司内部。 接下来,我们需要单击“分发应用程序”按钮。 在出现的菜单中,选择“企业”,然后单击“下一步”按钮:



7.接下来,您需要选择可以分发到的设备,并确保选择“包括空中安装的清单”,以便可以从浏览器下载该应用程序:



8.在下一个窗口中,指定“名称”-应用程序的名称; “ App URL”-指向.ipa文件的路径;“ Display Image URL”-指向图标57x57的路径;“ Full Size Image URL”-指向图标512x512的路径。

.ipa和.plist文件所在的服务器必须经过加密,这一点很重要,也就是说,https是必需的。 该示例使用了保管箱服务。 使用Dropbox服务时, 重要的是要知道 :通过公共链接指向文件的正确路径不应以生成的链接中所示的“ https://www.dropbox.com/”开头,而应以“ https://dl.dropboxusercontent.com/”开头”



9.下一步,我们需要选择创建的证书和Provisioning Profile:



10.在看到成功组装的应用程序之后,我们必须选择将文件夹与应用程序一起保存的位置,我们将在以下位置分发该文件夹:





11.保存后,在桌面上创建了一个文件夹。 您可以在下面的屏幕快照中看到文件夹的内容,当生成4个.plist文件时通常创建1个.ipa文件,但是在测试应用程序中这有点不同,但是在这种情况下,我们将对文件名仅包含应用程序名称的文件感兴趣。 至于4个.plist文件,那么我们需要“ manifest.plist”文件。 要安装该应用程序,您需要一个plist,其中描述了安装前的属性。 了解有关企业分布的更多信息,并在此处查看manifest.plist如下所示:







因此,在此步骤中,我们已成功创建了在Visual Studio 2017中创建的应用程序的.ipa和.plist文件,并将这些文件用于内部分发。

5步骤。 应用分布


在前面的步骤中,我们准备了要分发的应用程序。 在这一步,我们将使用链接创建一个简单的html文件,并将其放在本地IIS上,这样做是为了简化示例,但是链接的位置无关紧要。 非示例链接
可以放置在您自己的站点上,以便员工可以使用它,例如应用程序文件,应将其放置在您自己的服务器上。 但是,如前所述,在此示例中,我们使用了保管箱服务。

1.首先,我们需要将文件(图标,.ipa文件和manifest.plist)放在Dropbox上,并在链接上提供它们:



2.创建html文件后,以下内容:

 <html> <body> <a href="itms-services://?action=download-manifest&url=https://www.yoursite.ru/dirname/manifest.plist"> Install iOS in-house App</a> </body> </html> 

3.接下来,将此html文件上载到本地IIS(或您的站点),然后通过从移动设备访问此链接,将要求我们安装该应用程序。 安装应用程序后,用户需要在设备设置→常规→设备管理→“企业名称”上确认对证书的信任,然后只有用户才能打开应用程序:







总结


按照5个步骤的结果,我们创建了一个证书和一个Provisioning Profile,从Visual Studio 2017收集了一个Xcode存档,接收了.ipa和.plist文件进行分发,并且还能够通过单击链接在设备上成功安装应用程序,从而绕过AppStore。

Source: https://habr.com/ru/post/zh-CN427579/


All Articles