在ios的开发中, 通过苹果的各种秘钥加密, 我们会生成一个.ipa文件,这就是我们的应用软件的安装包. 这个文件是能被安装到iphone/ipad上的.
可是,如何才能让不在身边的人安装上这个应用呢? 发微信,不可以, QQ,传过去点击安装,不可以, 发布到苹果市场,不容易通过,周期太长.
到底该如何做? 看下面告诉你答案. 5分钟搞定一个ipa,苹果应用发布服务器. 让所有测试人员可以网上更新.

整理必要文件

  1. 下载ipa的首页(index.html)
    这里我们就写一个下载按钮
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>哦靠炫衣</title>
</head>
<body>
<a href="itms-services://?action=download-manifest&url=https://achar.coding.me/test/ipa.plist">下载哦靠炫衣ios测试版</a><!--修改这里-->
</body>
</html>

https://achar.coding.me/test/ipa.plist 是我的服务器的ipa.list的路径, 使用时改为自己的即可.

  1. 苹果PLIST文件(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>https://achar.coding.me/test/okoxy.ipa</string><!--修改这里-->
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.okoxy.beihai</string><!--修改这里-->
<key>bundle-version</key>
<string>1.31.1287</string><!--修改这里-->
<key>kind</key>
<string>software</string>
<key>title</key>
<string>哦靠炫衣</string><!--修改这里-->
</dict>
</dict>
</array>
</dict>
</plist>

注意修改代码为你的软件信息:
https://achar.coding.me/test/okoxy.ipa, 改为你自己的ipa包的网络下载路径. 可以为任意的网络下载路径.(本服务器的,其他服务器的,https,http等都没有限制),建议使用一个下载速度快的服务器上.
com.okoxy.beihai, 改为你的bundle-identifier, 你自己的包名.
1.31.1287, 改为你自己的版本号,其实没有太多关系,随便填就行.
哦靠炫衣, 改为你的应用的名称.

bundle-identifier的位置

  1. 准备ipa文件
    Xcode, 选择编译为Generic iOS Device, 菜单Product->Archive, 按钮"export...", 选择Save for AD Hoc Deployment, 按钮Next, 选择账号,点Choose,选择"Export one app for all compatible device", 按钮Next, 按钮Next,选择一个存储的目录,导出完成.
    导出的ipa如果名称包含中文,建议改为英文名称.
    更详细的教程请问度娘吧.
  2. 来一个全家福
    所有所需的文件列表

    注册Coding.net账号,启用Pages服务

    理论上是Github账号更好. 但是这里有个问题是, Github的pages服务是基于http的. 而Coding.net的服务是基于https的. 主要的是, 都是免费Free.
    新建一个项目.
    打开代码页面,点击"Pages服务"

    选择分支, 点保存

    开通成功, 可以点上面的链接访问(原本链接是: http://achar.coding.me/test), 此截图是开通https的截图.

    开通https服务, 强制启用. 开启成功后访问地址变为https

    上传文件

    通过git, clone下刚才在git上创建的项目, 将三个文件(html, plist, ipa)放入项目并提交push. 注意分支是master.
    提交完成后刷新接口看到最新页面.

    测试下载

    在苹果手机的Safari浏览器打开刚才生成的地址.如: https://achar.coding.me/test 点击下载. 而后按Home键返回,即可看到正在安装的应用.


吐槽的后话

我其实不想搭建这个服务器的. 虽然简单,但是蓝牙.
给我力量的是牛掰的蒲公英. 赐予我力量吧!我是蒲公英的付费用户.
原本用蒲公英的免费版,做ipa应用发布服务器. 用着还可以.
可恶的我,应为上线app store被拒后,依然购买了蒲公英的ios企业版服务600大元(X宝上企业IPA签名可以到200).
第一次用企业签名, 蒲公英小哥说跟app store一样, 只是从蒲公英上下载. 安装后才知道,还要信任蒲公英的企业签名, 难道让我一个一个告诉我的小白用户如何操作.
这个我认了.
一个月后(蒲公英企业签名服务有效期一个月), 我要发布一个测试包软件, XX, 又让我掏600, 说了多次,我不是让所有人用,我只要我的测试人员使用,只需要蒲公英免费版的功能,就可以了. 小哥很坚持, 交600就可以了. 我去.
下午用1个小时搞定服务器. 我挥一挥衣袖, 愤然离蒲公英而去.
脑袋里萦绕着一句话: "技术何苦为难技术"

项目公开地址为:
https://git.coding.net/achar/test.git
项目测试网页地址为:
https://achar.coding.me/test
欢迎留言炮轰.

https://www.cnblogs.com/acharless/p/7810626.html

5分钟快速构建苹果IPA免费发布服务器的更多相关文章

  1. 【Fungus入门】10分钟快速构建Unity中的万能对话系统 / 叙事系统 / 剧情系统

    我真的很久没有写过一个完整的攻略了(笑),咸鱼了很久之后还是想来写一个好玩的.这次主要是梳理一下Unity的小众插件Fungus的核心功能,并且快速掌握其使用方法. 官方文档:http://fungu ...

  2. 带你十分钟快速构建好 SpringBoot + SSM 框架

    目前最主流的 java web 框架应该是 SSM,而 SSM 框架由于更轻便与灵活目前受到了许多人的青睐.而 SpringBoot 的轻量化,简化项目配置, 没有 XML 配置要求等优点现在也得到了 ...

  3. 快速构建CLI程序并发布到PyPi

    构造一个简单的CLI程序 typer 这个从去年就被各种营销号吹成Web框架的 第三方库, 与 FastAPI 同出一人之手,它不是Web框架,它是一个用来构建CLI程序的库,我们就简单搞个例子 # ...

  4. 【容器云】十分钟快速构建 Influxdb+cadvisor+grafana 监控

    本文作者:七牛云布道师@陈爱珍,DBAPlus社群联合发起人.前新炬技术专家.多年企业级系统的应用运维及分布式系统实战经验.现专注于容器.微服务及DevOps落地的研究与实践. 安装过程 三个都直接下 ...

  5. 快速构建Windows 8风格应用36-商店应用发布流程

    原文:快速构建Windows 8风格应用36-商店应用发布流程 引言 在发布应用之前,我们需要注册开发者账号才能够发布应用.我们可以登录https://appdev.microsoft.com/Sto ...

  6. 快速构建Windows 8风格应用3-打包发布应用

    原文:快速构建Windows 8风格应用3-打包发布应用 本篇博文主要介绍如何打包应用程序,成功后如何部署应用程序,最后介绍如何发布应用程序到应用商店中. 如何打包Windows 8风格应用程序呢? ...

  7. 快速构建Windows 8风格应用37-常见发布注意事项

    原文:快速构建Windows 8风格应用37-常见发布注意事项 引言 通常我们发布Windows Store应用失败后,会返回一些错误需要我们去修改.我之前在给学生做培训的时候发现大部分同学应用被打回 ...

  8. (转)10 分钟内快速构建能够承载海量数据的 nginx 日志分析与报警平台

    10 分钟内快速构建能够承载海量数据的 nginx 日志分析与报警平台 原文:https://blog.qiniu.com/archives/8713

  9. Expo大作战(十八)--expo如何发布成独立应用程序,打包成apk或者ipa,发布到对应应用商店

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

随机推荐

  1. [ HNOI 2006 ] 公路修建问题

    \(\\\) \(Description\) 一个\(N\)个点\(M\)条边的图,每条边可以选择\(w_i,p_i\)两个边权之一,现求一个生成树上的最大边权最小值,要求这棵生成树上至少有\(K\) ...

  2. XSS攻击前端需注意

    XSS攻击,在WEB安全领域已经是老生常谈的问题,每每提到安全问题,也会首当其冲拿出来说事. 针对XSS攻击的解决方案,也非常成熟,主要就是:对用户输入信息的地方进行转义处理,当然我这里要提起的一个点 ...

  3. JS——i++与++i

    先赋值后自增: var i = 0; var n1 = i++; alert(i);//返回1 alert(n1);//返回0 先自增后赋值: var i = 0; var n1 = ++i; ale ...

  4. JQuery文档加载完成执行js的几种方法

    js中文档加载完毕.一般在body加一个onload事件或者window.onload = function () {} jQuery中有好多写法,平时也不注意,别人一问,还真觉得头大. 下面是我整理 ...

  5. 用Grunt进行CSS文件压缩

    假设你的项目的CSS文件全部放在项目目录下名为css的文件夹中,现在将它压缩合并成一个名为main-min.css的文件,放在css-min文件夹下. (1)首先保证机器安装了node.js. (2) ...

  6. struts2_validate表单验证

    使用代码实现 验证功能 (也就是重写ActionSupport中的validate()方法) 在validate方法中进行编写我们需要的验证功能 这里需要提几点的就是: 1.当我们需要对action中 ...

  7. 怎么用最短时间高效而踏实地学习Linux?

    在技术行业里,人才的唯一衡量标准就是技术能力,而技术能力,就代表着你的薪资.职位.话语权.很多人都经历过,跟自己同时入行甚至入行还晚的人,成长速度却远超自己,短短两三年就拉开了差距. 秘密就在于,有些 ...

  8. tomcat8安装及配置

    首先是解压版的安装.很简单,直接解压到要安装的位置就OK了. 2.启动 bin目录下,执行startup.bat文件 3.浏览器中打开地址http://localhost:8080/

  9. JDK5-8特性归纳

    jdk5新特性1.自动装箱和拆箱2.枚举3.静态导入4.可变参数5.內省   是Java语言对Bean类属性.事件的一种缺省处理方法.例如类A中有属性那么,那我们可以通过getName,setName ...

  10. C++关键字:重学记录

    const_cast dynamic_cast explicit