在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. CF615C Running Track

    思路: kmp + 二分. 实现: #include <iostream> #include <cstdio> #include <algorithm> #incl ...

  2. CSS——font

    行高的量取方式: 1.第一行可设置margin-top值.然后将第一文字顶部到第二行文字顶部的值作为行高的值(要注意对齐方式) 2.将 3.电视上 font:12px/1.5//字体12px,行高1. ...

  3. JS——“==”与“===”

    ==: 两个等于号只是比较两个变量的值 var n1 = 1; var n2 = "1"; alert(n1 == n2);//返回true ===: 三个等于号不仅比较值而且比较 ...

  4. (转)Hibernate快速入门

    http://blog.csdn.net/yerenyuan_pku/article/details/64209343 Hibernate框架介绍 什么是Hibernate 我们可以从度娘上摘抄这样有 ...

  5. cad二次开发中各种头的定义

    Database db=HostApplicationServices.WrokingDatabase; Editor ed=Autodesk.AutoCAD.ApplicationService.A ...

  6. 默认ttl参考

    UNIX 及类 UNIX操作系统 ICMP 回显应答的 TTL 字段值为 255 Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64 WINXP-32bit 回显应答的 T ...

  7. react 父组件调用子组件方法

    import React from 'react'import '../page1/header.css'import { Table } from 'antd'import Child from ' ...

  8. (1)搜索广告CTR预估

    https://www.cnblogs.com/futurehau/p/6181008.html 一.广告投放系统 广告系统包含多个子系统.除了上图所示的广告投放系统外,还包含商业系统(广告库的获得) ...

  9. wing ide破解

    LicenseID='CN123-12345-12345-67891' # RequestCode='RL634-8363J-X7E8K-95XD3' RequestCode = 'RW61C-NN6 ...

  10. 谈一谈Dijkstra

    dijkstra呢是最短路三大算法之一.很多人都觉得不如spfa,但是这两者在跑稠密图时,dijkstra有奇效 在讲之前先说一说食用方法: 适用于有向的无负权值的图. 样例飘过 6 9 1 //n个 ...