ios应用分发 - CSDN
  • iOS应用分发与内测(一)

    千次阅读 2016-01-17 22:46:21
    今天开始我将用几篇博客来讲解如何实现iOS应用分发与内测,将的会较为详细,不仅仅是通过点几下鼠标就完成任务,也会对其中的一些技术或者概念进行讲解。当我们把一款iOS应用开发完毕后,不是立即就上线到App ...

           今天开始我将用几篇博客来讲解如何实现iOS应用的分发与内测,将的会较为详细,不仅仅是通过点几下鼠标就完成任务,也会对其中的一些技术或者概念进行讲解。当我们把一款iOS应用开发完毕后,不是立即就上线到App Store,这样的风险实在是太大,被苹果拒的可能性也很大。在上线前的一个重要步骤就是进行应用的分发与内测,大概的意思就是让组内的所有开发者或者公司中的其他人员(PM、测试、市场人员等等)安装该款应用,来进行内部的一个测试。这样会暴露大量的问题,然后还可以进行修改调试。只有确保内测没有问题后,才会正式上线。

            这样的内测平台有很多,大公司可能有自己的的内测平台。但是对于我们这样的独立开发者来说,只能使用公共的平台,如蒲公英、Pre.im等等很多。我接下去主要以蒲公英 平台来进行分发。

            作为个人的测试,首先你要购买苹果的开发者账号,也就是99刀(668人民币),买一个个人账户。这样在你的开发账号中可以添加100台设备作为测试机。当然最好你有1台及以上的iOS真机设备,来进行安装App测试。

            该篇博客先对一些基本概念做一个讲解:

    (1)ipa文件

          ipa文件就是iOS应用的安装包文件,扩展名为.ipa.   能否正确的打包IPA文件,是决定了IPA文件上传到蒲公英后能否被正确安装的关键。可以吧ipa文件可以理解为Android中的apk文件,道理是一样的。


    (2)证书

           对于一个未上线App Store的应用,一般来说,开发者如果需要将应用安装到某些用户的设备上,就需要将应用导出为这些设备可以直接安装的安装包(.ipa文件),安装包能否正确导出,是决定了应用能否被正确安装到设备上的关键因素。其中,最关键的一个因素是,导出安装包时,应用所使用的证书(即:签名方式)。

    开发者可以选择如下两种方式的签名方式,来导出应用安装包:

          1. Ad-hoc方式

          2. In-house方式

    其中,具体使用哪种方式,取决于开发者拥有的苹果开发者账号的类型。例如,如果开发者拥有的是苹果开发者个人开发者账号(我就是),则可以使用Ad-hoc方式;如果拥有的是苹果企业开发者账号,则可以使用In-house方式。关于苹果开发者账号支持的证书类型,如下图:



    三种证书签名的区别:

          到目前为止,苹果为iOS应用共提供了三种类型的证书签名方式,每一种都有独特的用途。这三种分别是:

        1.  Ad-hoc

        2.  In-house

        3. App-Store

    蒲公英会根据打包证书的不同,分别显示为内测版、企业版、App-Store版。关于这三种类型的证书,区别如下表所示:




    (3)UDID

         UDID是由子母和数字组成的40个字符串的序号,用来区别每一个唯一的iOS设备,包括iPhone,iPad,以及iPod Touch。这些编码看起来是随机的,实际上是跟硬件设备特点相联系的。一个典型的UDID是这样的:

    37f2f993bae681636e30e74b04d6b8955ba36f29

    那么应该怎么获得iOS设备的UDID呢?

          UDID的获得可以由iTunes,或者Xcode,不过前两个都比较麻烦,因为都需要手机或电脑相连。蒲公英提供了一个简单的获取UDID的工具,直接在浏览器中打入:http://www.pgyer.com/udid    .就可以方便的获取到当前设备的UDID。


    (4)UDID和Ad-hoc

         如果iOS设备要安装以Ad-hoc方式打包iOS应用时,必须将该设备的UDID加入打包应用时的证书文件(.mobileprovision文件),才可以在该设备上正常安装。我后面会实现如何获取.mobileprovision文件。


        对于分发和内测大概要了解的概念就是如上这些,我在下面这篇博客实际进行操作。


    展开全文
  • 最近公司的项目准备着手宣传工作了,宣传手册上要印制App的下载地址二维码,但是客户端应用还未上线,需要一种临时的方案解决应用分发下载问题,通常ios应用必须通过苹果应用商店才能下载安装,但是也可以看到一些...

    最近公司的项目准备着手宣传工作了,宣传手册上要印制App的下载地址二维码,但是客户端应用还未上线,需要一种临时的方案解决应用分发下载问题,通常ios应用必须通过苹果应用商店才能下载安装,但是也可以看到一些应用没有通过苹果应用商店也能下载安装,比如下面的兔兔助手。

    兔兔助手_苹果手机助手_兔兔助手越狱版_兔兔助手官网下载

    http://www.tutuapp.com/

    直接扫码或者点击手机页面的下载链接就能下载安装成功。

    p1.png

    其实这种安装方式是利用企业证书签名app的部署方式来安装程序,直接在ios设备上安装,严格来说其实是不符合apple的相关规定的,因此一般只用于内部测试下载安装,不建议使用这种方式来进行最终的应用分发。下面具体介绍一下实现方式。

    准备的文件主要是三个:

    • 1、应用程序 后缀(.ipa) 文件(使用了企业级预置描述文件);
    • 2、清单 (后缀.plist) 文件(xml格式的清单描述文件)。
    • 3、网页(后缀.html)文件(引导用户安装的界面)

    我没做过ios开发,因此.ipa文件,.plist文件怎么得到,开发人员应该很清楚,这里只介绍一下文件部署的情况。

    首先APP上传到服务器有一个下载地址,比如:http://youdomain/app.ipa

    然后部署.plist文件,这个文件大致如下所示:

    <?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>http://cloud.189.cn/download/client/iOS/cloud189_1.1.1.ipa</string>
                    </dict>
                </array>
                <key>metadata</key>
                <dict>
                    <key>bundle-identifier</key>
                    <string>请填上你的开发者证书用户名</string>
                    <key>bundle-version</key>
                    <string>版本</string>
                    <key>kind</key>
                    <string>software</string>
                    <key>title</key>
                    <string>请填上标题</string>
                </dict>
            </dict>
        </array>
    </dict>
    </plist>

    需要注意的是从ios7.1开始,http推送plist已经不能用了,只能使用https推送,因此访问这个文件的地址必须是https开头的。你可以配置自己的服务器支持https服务,也可以借助第三方工具,这里主要介绍使用第三方工具。

    国外有很多网站都是支持https服务的,比如DropBox和Github,以Github为例,打开任意开源项目中的一个文件,切换到“RAW”

     

    可以看到地址栏显示的是https,因此可以把app.plist文件上传到github生成一个https地址,不幸的是github在国内基本上属于被墙的状态,因此需要在国内找一个能提供https服务的存储方式,这里我推荐七牛云存储,注册成为标准用户后,新建一个空间,上传文件

    在空间设置里可以开通https服务

    这样就能得到一个https://dn-yourdomain.qbox.me/app.plist的地址,说了这么多,终于将.plist文件部署好了,其实前面的.ipa文件也可以上传到七牛云存储上供下载分流。

    最后介绍如何下载安装应用,使用的是itms-services:协议

    itms-services://?action=download-manifest&url=https://plist文件的地址

    接下来只要在网页(html)文件中加入

    <a href="itms-services://?action=download-manifest&url=https://plist文件的地址">安装</a>

    这样点击手机网页上的“安装”链接就能下载安装应用了。至于这个页面要做的多花里胡哨,那就是前端美工的事了。

    这里有一段比较完整的示例

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <htmlxmlns="http://www.w3.org/1999/xhtml">
    <head>
    <metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/>
    <title>应用名字</title>
    </head>
    <body>
       <h1style="font-size:80pt">如果点击无法下载安装,请复制超链接到浏览器中打开<h1/>
       <h1style="font-size:100pt">
       <a title="iPhone"href="itms-services://?action=download-manifest&url=https://dn-你的空间名字.qbox.me//你的.plist">点击下载        </a><h1/>
    </body>
    </html>

    如果想手机进入页面后直接下载安装,可以在html 标签的 head 标记中加入如下的Javascript代码。

    <script>
            var url ="https://plist文件地址";
            window.location ="itms-services://?action=download-manifest&url="+ url;
    </script>

    这样就会自动提示下载和安装了。

    如果通过ios应用内安装,代码大概如下所示

    iOS:

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-services://?action=download-manifest&url=https://plist文件的地址"]];

    最后才是重点,我们不必这么麻烦自己部署这么多文件,完全可以借助第三方应用内测分发平台,比较出名的有下面几个:

    应用测试发布平台

    fir.im - 免费应用内测托管平台|iOS应用Beta测试分发|Android应用内测分发

    http://fir.im/

    蒲公英 - 免费的应用托管平台|App应用众测分发

    http://www.pgyer.com/

    Pre.im - APP内测托管平台首选 - Beta测试 - 免费的应用内测托管平台

    http://pre.testin.cn/

    TestFlight Beta Testing - App Store - Apple Developer

    https://developer.apple.com/testflight/

    试用了一下蒲公英,真是相当方便,只要注册一个帐号,将ipa文件上传,就会立即生成一个下载地址以及引导下载页面

    通过查看api可以看到,蒲公英也是通过上面的方式安装的,只是给开发者省了不少时间

    如果你嫌蒲公英的下载引导页面不好看,你可以自己做一个html页面,直接是用上面的itms-services地址。

    若有疑问,请扫描下方微信二维码,关注我的微信公众号,找我私聊!

    业余草

    参考资料

    展开全文
  • IOS应用分发的三种方式

    千次阅读 2017-02-10 14:29:56
    IOS应用分发的三种方式IOS应用分发三种方式 上架到AppStore 扫码或者点击链接下载安装 放到第三方应用内测分发平台 上架到AppStore这个就不讲了,一句两句讲不清楚,网上教程一大堆,可自行搜索。扫码或者点击链接...

    IOS应用分发的三种方式

    IOS应用分发三种方式

    1. 上架到AppStore
    2. 扫码或者点击链接下载安装
    3. 放到第三方应用内测分发平台

    上架到AppStore

    这个就不讲了,一句两句讲不清楚,网上教程一大堆,可自行搜索。

    扫码或者点击链接下载安装

    通常ios应用必须通过苹果应用商店才能下载安装,但是也可以看到一些应用没有通过苹果应用商店也能下载安装。今天重点要讲的就是这个。这种分发方式适用于以下两种场景:

    1. 企业级应用下载;
      仅供企业内部人员或客户使用,甚至还会针对不同客户进行定制,这类应用原本就不需要上架到AppStore;
    2. 临时性下载;
      如果应用还未上线,但宣传页上要提供App的下载地址二维码,这时候就需要一种临时的方案解决应用分发下载问题了。

    其实这种安装方式是利用企业证书签名app的部署方式来安装程序,直接在ios设备上安装,严格来说其实是不符合apple的相关规定的,因此一般不建议使用这种方式来进行最终的应用分发。下面具体介绍一下实现方式。准备的文件主要是三个:

    1. 应用程序 后缀(.ipa) 文件(使用了企业级预置描述文件)
    2. 清单 (后缀.plist) 文件(xml格式的清单描述文件)
    3. 网页(后缀.html)文件(引导用户安装的界面)

    具体操作步骤就懒得写了,网上一大堆,可以参考:http://www.cnblogs.com/star91/p/5018995.html。这里要特别说明下:
    这种分发方式必须使用苹果企业账号,使用企业账号签名后的应用,只可以用于企业内部员工安装,不可以公开下载。
    很多开发者在违背了上述条款后,导致企业账号被封,从而造成了不小的损失。关于此方面的注意事项,这里也懒得写了,以下文章讲的很清楚:苹果企业账号使用注意事项

    放到第三方应用内测分发平台

    这种方式最简单了,可供选择的平台有很多,推荐使用TestFlight或蒲公英。

    TestFlight Beta Testing - App Store - Apple Developer
    https://developer.apple.com/testflight/

    蒲公英 - 免费的应用托管平台|App应用众测分发
    http://www.pgyer.com/

    展开全文
  • ios应用分发和上传

    2019-09-25 21:34:23
    ios应用分发和上传。 主要分两个步骤:一是进入开发者账号在iTunes Connect申请和布局一个新的应用资料 ;二是归档打包 上传 一:在iTunes Connect申请和布局一个新的应用资料 1.准备需要的图片资源 一张:...

    ios应用的分发和上传。

    主要分两个步骤:一是进入开发者账号在iTunes Connect申请和布局一个新的应用资料 ;二是归档打包 上传

     

    一:在iTunes Connect申请和布局一个新的应用资料

    1.准备需要的图片资源  一张:large App icon貌似要1024*1024了(提示这么说的);1-5张截图。(如果你的应用适配iPhone5,则需要4 寸屏幕的截图)

    2.进入iTunes Connect--->Manage Your Applicationsg根据相应的步骤新建一个app资料,根据步骤填写,基本没什么难度。

    3.如果你准备上传的话,先将应用状态设置成 Waiting for upload。

     

    二:归档打包

    1.首先在做这步之前,希望最好已经在生成安装了分发证书,以及distribution分发的描述文件。

    Certificates管理您的两种证书,Development(开发)和Distribution(分发)证书,同样的,不同类型的证书下还管理着不同的描述文件。

    我这边分发证书下挂载着两个分发描述文件,一个用于AppStore上传,一个用于Ad Hoc share。

    这是相应的开发和分发描述文件。

    2。下载和安装了,描述文件后,那么就可以在Xcode里归档打包了。

    在Xcode 中修改下配置:

     1>Bundle Identifier改成你描述文件指定的APPID。

    2>设置Code signing。。。,release这个选择你的分发证书。(Project和Target下都改下)。

    当然最好先Edit Scheme保证你Archive的Build方式是release(一般默认就是)。

     

    3>归档,在此前先把设备链接改成ios device,如果选者的是模拟器什么的,红色选项是灰色的。

     

    4>中间会访问你的私钥签名等,之后直接跳转到Organize界面的归档选项

     

    右边有两个按钮,第一个是校验用的

    验证你要upload的app于你在iTunes Connect上记录是否符合

    (比如我上传完后,你在点击这个按钮就显示

    )。

    现在先看选择分发选项

    先说第三个,就是导出一个归档文件,具体有什么用不太清楚,就感觉给你发给其他比如同事,他打开后直接能在这个选项里看到。

    然后可以用上面说道的验证时候可以用他已有的证书签名,如果可以,他也就可以签名上传分发了,只是少一步归档工作而已。

    第二个是生成一个AD Hoc类型额分发ipa,然后发给在描述文件中添加了设备的安装使用。

    第一个就是提交到App Store了。

     

    Tips:

    1.应用发布时去NSLog,在预处理XXX-Prefix.pch中添加一句宏

     

    1. //去log  
    2. #ifdef DEBUG  
    3. #else  
    4. #define NSLog(...){};  
    5. #endif  


    2.以Ad Hoc打包发布时,我发现不用发布证书,直接用开发者证书归档打包也行,一些签名步骤没了,但是应用还是可以安装到设备上去(

     

    反真我一开始没注意直接用开发证书Archive出来后能通过iTunes直接安装)。

     

    归档和打包基本流程就是简单这些。还是比较简单的

     本文转载至:http://blog.csdn.net/nono_love_lilith/article/details/8185873

    转载于:https://www.cnblogs.com/Camier-myNiuer/archive/2013/06/14/3135344.html

    展开全文
  • 介绍如何通过网页内部分发 iOS 应用, 包括 In-House 企业应用和 ad-hoc 测试应用。 原生 XCode 应用 1. 归档编译 用 XCode 打开要分发的项目, 依次选择"Product" -> "Build for" -> "Archiving", 如下图: ...
  • 针对iOS应用分发,需要在服务器里上包括三个文件,来实现OTA方式的分发 1.ipa文件,也就是应用安装包,可以是开发者证书签名的,也可以是企业证书。 2.plist文件,主要用来说明iOS应用的安装信息,主要的安装信息...
  • 1. 因为项目需求,需要一种临时的方案可以使ios绕过App Store下载app,网上教程大同小异,都是将ipa放到服务器中,在配置plist文件进行下载。 ## 问题 1. .plist文件如何配置,是通过xcode还是自己配置? ...
  • iOS App托管和分发搭建

    2020-03-30 16:09:17
    iOS的内侧包管理,内部分发,或者企业包的分发和Android略有不同,需要通过manifest文件以及Safari内置命令来触发安装。
  • iOS应用分发与内测(二)

    千次阅读 2016-01-18 01:16:39
    在了解了上一篇博客中的概念之后,现在我们来实际操作,如果有看过《iOS开发——远程消息推送的实现》这篇博客实现远程通知推送的话,会对今天的操作很熟悉。实现该步骤需要苹果开发者账号(99刀)。具体实现如下:(1...
  • iOS应用发布流程详解

    万次阅读 2016-05-28 17:05:15
    推荐大家先去看《iOS应用分发与内测(一)》《iOS应用分发与内测(二)》《iOS开发Provionsioning Profile解析》这几篇博客,看完以后会对发布App的流程非常熟悉。我先对一些概念做一个讲解:【证书 Certif
  • 自建iOS分发平台

    千次阅读 2019-11-27 17:33:17
    随着2019年11月蒲公英的系统升级之后,iOS免费分发平台越来越少、越来越不方便,如果不介意上传手持身份证的同学可以接着只有fir.im。单从蒲公英开始限制权限和收费这件事不难看出,免费分发平台似乎走到了尽头,是...
  • 企业级应用开发 无需将设备的UDID加入到开发者网站上的Device中 公司有个人的手机(iPhone 6s Plus)安装不了应用: 用微信扫描...考虑到是通过蒲公英来安装应用,就找到蒲公英文档iOS 应用安装失败原因排查,查找...
  • 苹果提供了一个 以无线方式安装企业内部应用 的策略,我们可以利用这个策略去内测分发自己的iOS应用。下面我们一步步来实现自己的内测分发。  步骤: 一、搭建内测分发站点 这里我就不多说了,有一台...
  • IOS消息分发(广播)机制

    千次阅读 2015-03-26 17:00:05
    IOS中,提供了通知机制(Notification),可以在对象间传递和接受信息。传递和接受信息的对象间甚至不需要知道对方的存在。究其本质来说,其实是设计模式中的观察者模式的应用。 通知机制 设想这么一个场景:我...
  • (via:破船之家,原文:Provision iOS IPA App for In-House Enterprise Distribution)在企业内部分发 iOS 应用程序非常复杂。经过努力,我成功实现了在企业内部的应用程序分发。我决定用此文来记录我的最佳实践...
  • iOS 自建应用内测分发平台

    万次阅读 2020-04-14 15:00:00
    应用内测分发平台 首先就是祭出好用的应用内测分发平台。...一般的应用,通过【蒲公英】和【fir.im】进行应用分发就可以了,使用简单,应用可管理,下载方式便捷等等。 下面我们介绍一下如何自行搭建一个分发平台...
1 2 3 4 5 ... 20
收藏数 20,351
精华内容 8,140
热门标签
关键字:

ios应用分发