美文网首页iOS 开发iOS开发App Store
苹果企业账号发布APP详解——通过自己网站分发应用

苹果企业账号发布APP详解——通过自己网站分发应用

作者: 时间已静止 | 来源:发表于2016-05-05 23:51 被阅读8170次

一、通过企业账号申请证书

  • 1 Certificate Signing Request (CSR)文件

在Mac系统中进入“钥匙串访问”,选择“钥匙串访问”-“证书助理”-“从证书颁发机构请求证书…”,如图1所示:

钥匙串请求证书

—>填写前两项,并选择“存储到磁盘”,如图2所示:

  • 2 请求Certificate证书
    登录https://developer.apple.com —>MemberCenter—>Certificates, Indentifiers & Profiles—>Certificates,如图3所示:

—>在图4页面,点击右上角加号,添加一个证书:

—>选择In-House and Ad Hoc,点继续,如图5所示:

—>如图6:Choose File选择第1步的CSR文件上传,点击generate生成cer证书,下载后双击安转(需要输入Mac的密码)

  • 3 App ID

点击右上角的加号按钮,如图7所示:

—>有两项需要填(如图8所示),name为描述可以随便填写.bundleID必须与APP的bundleID完全一致(如图9所示)。至于App Services根据自己需要选择。最后点击继续->submit->done

  • 4 生成最终的Provisioning Profile(企业版不需要device即iPhone的UDID,因此跳过)

选择Provisioning Profile->ALL,点击右上角加号:

—>选择刚创建的AppID,点击继续,如图12所示:

—>选择cer证书点击继续.图13 给最终生成的Profile文件命名方便自己识别。然后点击生成,并下载双击打开。至此证书环节完毕

二、打包ipa,手动生成plist

这一步开始前,需要将手机插入电脑,并调试选项选择真机。(防止无法Archive),如果没有真机,可以选择iOS Device(这个没有测试)。

1 打包ipa

  • 1.1 Edit scheme

用Xcode打开对应APP。Product->Scheme->Edit scheme,填写Archive name,即为打包后的ipa名字,如图14所示

  • 1.2 选择对应证书,即刚才生成的证书,如图15所示:
  • 1.3 归档,Product->Archive,并按图16,图17操作(选择Save for Enterprise Deployment):

完成之后会生成一个ipa包。

三、发布APP

要发布还必须有一个plist文件,在Xcode6之前会自动生成一个plist文件,但是Xcode6之后需要我们自己创建plist,文章最后提供一个plist模板,复制并重命名为plist后打开根据提示操作即可.图18为plist的截图,可以看到有三个URL,分别存放ipa,大小图标。下图的1(ipa)、2(大图)、3(小图)填写我们自己生成的URL,即将ipa和大小图标放在我们自己的服务器,当用Safari打开plist时会根据填的plist里面的1、2、3对应的URL来下载安装ipa、大小图标。

那么plist放在哪里呢(即Safari打开plist的URL是多少呢)?苹果对plist存放地址有要求,必须是https的,如果没有https网站,我们可以把plist放在https://git.oschina.net

具体做法就是在上面创建一个项目(不能是私人的),然后将编辑好的plist传到项目,最后将plist的URL赋值下来,比如https://git.oschina.net/waitwait/companytest/blob/master/MDDTest.plist。然后我们在Safari中输入:itms-services:///?action=download-manifest&url=https://git.oschina.net/waitwait/companytest/blob/master/MDDTest.plist就可以安装了(Safari会解析itms-services:///?action=download-manifest&url=)。

注意,有简友反应oschina的https不能使用,其实公用的https链接经常会被封掉,可以试试github,百度云,七牛云存储等等。另外,最好还是用自己的

Safari操作的具体流程是:

  • 1 Safari解析我们输入的那一串字符串,找到plist文件
  • 2 根据plist文件里面提供的信息下载并安装ipa包,还会访问大小图标,大小图标在ipa包正在下载时显示,当下载完毕后显示程序自带的图标
  • 下载安装后,如果想打开程序还需要在手机 设置->通用->描述文件与设备管理(不同系统可能名字不一样) 里面选择相应的证书信任后,方可打开程序

下面是plist模板的文本形式,将其复制到文本然后重命名.plist,用Xcode打开按照提示编辑即可。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>items</key>
    <array>
        <dict>
            <key>assets</key>
            <array>
                <dict>
                    <key>kind</key>
                    <string>software-package</string>
                    <key>url</key>
                    <string>ipa包URL(必填)</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>full-size-image</string>
                    <key>needs-shine</key>
                    <false/>
                    <key>url</key>
                    <string>下载时大图(非必填)</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>display-image</string>
                    <key>needs-shine</key>
                    <false/>
                    <key>url</key>
                    <string>下载时小图(非必填)</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>BundleID(必填)</string>
                <key>bundle-version</key>
                <string>1.0</string>
                <key>kind</key>
                <string>software</string>
                <key>subtitle</key>
                <string>副标题(非必填)</string>
                <key>title</key>
                <string>应用名(必填)</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

相关文章

网友评论

  • 9b3f0efd1136:加您qq了,麻烦通过一下
  • 2bbdab2e96ab:https是否必须认证过的https?自己签发的https不能用吧?
  • 小伙eryayayayaya:你好;打包好的ipa包,和plist 文件放到服务器上,之后用safari 打开网址 显示在AppStore中打开连接么 这个是什么情况
  • acd810ba87df:会不会被封号
    时间已静止:@这是一个灰常帅气的名字 有风险的,会提前通知
  • Zeke权:mark
  • 翻滚的炒勺2013:企业只能这样打包吗
  • Zz7777777:我们这边plist文件都弄好了,主要的是服务器端不太会弄.
    人间四月天_Andy:@时间已静止 点击下载出现无法链接到“t.dailyedu.com”是什么原因呢?急求
    时间已静止:@人间四月天_03dc 服务端最重要的就是,将plist文件放在支持https访问,且没被封
    人间四月天_Andy:请问服务器端怎么整的?
  • Zz7777777:能留下qq吗,我这边有几个问题请教下你
  • 404d1c5af490:写的很好,赞一个 :smiley:
  • 渴wang:企业账号不能添加证书了,我直接下载证书为什么不能安装使用呢,难道需要我把以前的证书删掉么。如果删掉的话对以前打包的app会有什么影响呢
  • 670727d74596:网页显示 无法连接到... 是什么问题
    时间已静止:@670727d74596 什么问题呢,太笼统了
  • 石头撞地球:
    Code Sign error: No codesigning identities found: No codesigning identities (i.e. certificate and private key pairs) that match the provisioning profile specified in your build settings (“MallDis”) were found.你好,我证书都下好了为什么还提示这个,可能是什么原因呢
    石头撞地球:@时间已静止这个cer证书下的其他Provisioning Profile都没问题呢
    石头撞地球:恩,我钥匙串里能看到证书,为什么Xcode里找不到,删了再下载还是这样
    时间已静止:@不磨人的小妖精 有的证书需要双击安装,是否这样做了?
    另外在工程->Building setting里面搜索code sign 然后选择对应的证书
  • 诸葛俊伟:先留着,以后也许有用。话说为什么是企业账号呢?指的是apple developer是企业账号吗?
    时间已静止:@诸葛俊伟 嗯 区别于个人账号和公司账号
  • seay:介绍挺好的
  • 搜捕儿:请问Achieve -> Export时选择是Save for Ad Hoc Deployment还是Save for Enterprice Deployment啊? 发布企业版不应该是后一种吗.
    时间已静止:@搜捕儿 enterprise
  • Oculas:先mark了!
  • 17094f97c38f:真心好

本文标题:苹果企业账号发布APP详解——通过自己网站分发应用

本文链接:https://www.haomeiwen.com/subject/xfzdrttx.html