在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. P1968 美元汇率

    题目背景 此处省略maxint+1个数 题目描述 在以后的若干天里戴维将学习美元与德国马克的汇率.编写程序帮助戴维何时应买或卖马克或美元,使他从100美元开始,最后能获得最高可能的价值. 输入输出格式 ...

  2. Android集成二维码扫描功能

    文章转载自  https://github.com/yipianfengye/android-zxingLibrary 在具体介绍该扫描库之前我们先看一下其具体的使用方式,看看是不是几行代码就可以集成 ...

  3. JS——放大镜

    放大镜: 1.比例系数要恒定:在系数为4的情况下,若原图是820*512,那么小图必须是205*128,放大镜若是50,原图显示区域必须200 2.计算鼠标在小图中的坐标 3.放大镜需要在鼠标中间位置 ...

  4. GridView动态计算高度

    // 动态加载GridView 高度 public static void setListViewHeightBasedOnChildren(MyGridView myGridView) { List ...

  5. gtest ASSERT_TRUE和EXPECT_TRUE

    调用ASSERT_TRUE的函数,返回值类型定义必须是void,如果想返回别的类型,就用EXPECT_TRUE: void abc::fun() { ASSERT_TRUE(fun1()); } bo ...

  6. 4.用Redis Desktop Manager连接Redis(Windows)

    相比连接CentOS的Redis,在Windows中的操作简单得让人感动. 所以这里我们使用的服务器系统是Windows Server 2016 R2. 而Windows版本的Redis官方网站并没有 ...

  7. Django中图片的上传并显示

    一.settings配置文件中配置 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'medias').replace('\\', ...

  8. Mysql 在Linux下的安装

    1.获取mysql源码 wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.49.tar.gz 3.添加mysql用户和用户组,创建 ...

  9. Redis 之消息发布与订阅(publish、subscribe)

    使用办法: 订阅端: Subscribe 频道名称 发布端: publish 频道名称 发布内容 一般做群聊,聊天室,发布公告信息等.

  10. 如何使用 Python 创建一名可操控的角色玩家

    在 这个系列的第一篇文章 中,我解释了如何使用 Python 创建一个简单的基于文本的骰子游戏.在第二部分中,我向你们展示了如何从头开始构建游戏,即从 创建游戏的环境 开始.但是每个游戏都需要一名玩家 ...