在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. 6.11---上传图片遇到的bug,字节流输入流输出流----图解----图片必须是post

    !!!这里要注意不能是目录必须是指定的文件名+目录,不然就存照片到指定的目录不成功 ----------------------------------------完整controller-servi ...

  2. js基础---数据类型转换

    js中数据类型: 简单数据类型: number:233,-34,0x23,023 string:"hello"或者'hello' boolean:true.false undefi ...

  3. Android视频截图

    本文介绍如何获取视频中某个时间点的数据 调用以下方法即可,特别注意,在获取图片时的参数单位为微秒,不是毫秒 如果错用了毫秒会一直获取第一帧的画面 /** * 获取某个时间点的帧图片 * * @para ...

  4. Ch03 React/JSX/Component 簡介

    Facebook 本身有提供 Test Utilities,但由于不够好用,所以目前主流开发社群比较倾向使用 Airbnb 团队开发的 enzyme,其可以与市面上常见的测试工具(Mocha.Karm ...

  5. TensorFlow-Gpu环境搭建——Win10+ Python+Anaconda+cuda

    参考:http://blog.csdn.net/sb19931201/article/details/53648615 https://segmentfault.com/a/1190000009803 ...

  6. antiSMASH数据库:微生物次生代谢物合成基因组簇查询和预测

    2017年4月28日,核酸研究(Nucleic Acids Research)杂志上,在线公布了一个可搜索微生物次生代谢物合成基因组簇的综合性数据库antiSMASH数据库 4.0版,前3版年均引用2 ...

  7. zepto处理touch事件

    处理Touch事件能让你了解到用户的每一根手指的位置,在touch事件触发的时候产生,可以通过touch event handler的event对象取到,如果基于zepto.js开发,一般是通过eve ...

  8. [转载]java中Date,SimpleDateFormat

    一.Java中的日期概述: 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题. 在Java ...

  9. linq排序之 根据文本 A-001-002-003 这种类型进行分割排序 空值放于最后

    调用 List<string> data = new List<string>() { "D-001-001-001","A-001-004-00 ...

  10. 啥是SQL?

    SQL:(Structured Query Language)是结构化查询语言缩写.是一门专门与数据库管理系统打交道的语言. SQL语言:是关系型数据库的标准语言,,其主要用于存取数据,查询数据,更新 ...