开发App,苹果App少不了。不过,苹果商店的审核确实太烦,更新也费劲。

一、IOS App不通过苹果商店,有几种办法可以完成安装?

    不通过苹果商店安装苹果app(即ipa)的方法较为复杂;如果是非越狱的手机,首先需要注意以下条件:

  1. 如果是299美元的企业证书打包的ipa,那没有任何限制。注意:企业证书是不能发布到苹果市场的,只有99美元那个可以。
  2. 如果是99美元的个人/公司证书打包的ipa,那必须在生成证书的时候,把需要安装ipa的手机的uuid增加到证书里面(最多可以增加100个)。

    假设Studio中Native下有一个MyApp的本地应用,在dist目录下已经生成MyApp.ipa。 不通过苹果商店安装ipa有3种方法:

  1. 同android的第一种方法类似,可以通过ios版本的UI浏览器扫描二维码,但要注意,默认下载后是无法安装ipa,可以安装一个叫“同步推”的工具,这样UI下载ipa后使用“同步推”打开ipa就可以安装
  2. 在PC上安装iTunes,并用数据线连接手机,ipa用iTunes打开,在iTunes中点击自己的手机后在“应用程序”页面会列出ipa,把ipa拖动到右边的页面,并点右下角的“同步”即可安装
  3. 部署https,通过一个描述文件plist 指定安装文件,在手机的safari浏览器中通过itms-services:///?action=download-manifest&url=http://域名/xxxx.plist”的方式安装。本文随后详细说明:苹果App如何通过部署HTTPS实现不经过苹果商店的在线下载安装?。

注意:上面的方法越狱和非越狱都适用,但快捷打包生成的ipa只能安装在越狱手机上




二、苹果App如何通过部署HTTPS实现不经过苹果商店的在线下载安装?

部署https提供ipa的下载,步骤如下:

1. 搭建一个HTTPS服务,可以使用HTTPD或者Tomcat构建,具体可搜索相关帖子。由于https好用的证书(就是浏览器默认支持)需要付费,这里巧用github.com可以实现部署,可以参考坛友kiko 的帖子

2. 编写plist文件。plist文件中需注意提供正确的ipa文件路径,以及版本号和Bundle ID。模版: 点我下载

<?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>
     <!-- http或者https链接的ipa文件地址 -->
     <string>http://x5.justep.com/apps/x5.ipa</string>
    </dict>
    <dict>
     <key>kind</key>
     <string>full-size-image</string>
     <key>needs-shine</key>
     <true/>
     <key>url</key>
     <!-- http或者https链接的图片地址,可直接使用app对应的icon(分辨率没强制要求) -->
     <string>http://x5.justep.com/apps/x5.png</string>
    </dict>
    <dict>
     <key>kind</key>
     <string>display-image</string>
     <key>needs-shine</key>
     <true/>
     <key>url</key>
     <!-- http或者https链接的小图片地址,可直接使用app对应的icon(分辨率没强制要求) -->
     <string>http://x5.justep.com/apps/x5.png</string>
    </dict>
   </array>
   <key>metadata</key>
   <dict>
    <key>bundle-identifier</key>
    <!-- BundleID,就是新建app时的包名 -->
    <string>com.justep.x5.demo</string>
    <key>bundle-version</key>
    <!-- 版本号 -->
    <string>5.3.2</string>
    <key>kind</key>
    <string>software</string>
    <key>title</key>
    <!-- 安装app时的提示信息 -->
    <string>X5 App download</string>
   </dict>
  </dict>
 </array>
</dict>
</plist>

3. 将plist文件放在https服务目录下。这样就有一个有效的连接地址指向这个文件,例如:

1  https://github.com/myuser/myapp/blob/master/myapp.plist

  手机如果要安装app,可以在safari浏览器输入:

1  itms-services:///?action=download-manifest&url=https://xxx/.../myapp.plist

注意:是三个/,不是笔误,url后面写的就是一个有效的可访问plist的https地址,一定要https,否则无法打开

当然,你可以做一个页面,里面用一个链接指向这个地址,方便下载,例如:

1 <a οnclick="window.location.href='itms-services:///?action=download-manifest&url=https://xxx/.../myapp.plist'">下载IPA</a>



开发App,苹果App少不了。不过,苹果商店的审核实在太烦,更新也费劲。WeX5跨前端开源框架,应广大App开发者的要求,做了精心整理, 帮助大家实现苹果App不上传苹果商店、让其他人也能安装,分享如下:

更多信息可以关注WeX5博客:

                          WeX5跨前端开源项目页面: 





一、IOS App不通过苹果商店,有几种办法可以完成安装?


不通过苹果商店安装苹果app(即ipa)的方法较为复杂;如果是非越狱的手机,首先需要注意以下条件:

  1. 如果是299美元的企业证书打包的ipa,那没有任何限制。注意:企业证书是不能发布到苹果市场的,只有99美元那个可以。
  2. 如果是99美元的个人/公司证书打包的ipa,那必须在生成证书的时候,把需要安装ipa的手机的uuid增加到证书里面(最多可以增加100个)。

假设Studio中Native下有一个MyApp的本地应用,在dist目录下已经生成MyApp.ipa。 不通过苹果商店安装ipa有3种方法:

  1. 同android的第一种方法类似,可以通过ios版本的UI浏览器扫描二维码,但要注意,默认下载后是无法安装ipa,可以安装一个叫“同步推”的工具,这样UI下载ipa后使用“同步推”打开ipa就可以安装
  2. 在PC上安装iTunes,并用数据线连接手机,ipa用iTunes打开,在iTunes中点击自己的手机后在“应用程序”页面会列出ipa,把ipa拖动到右边的页面,并点右下角的“同步”即可安装
  3. 部署https,通过一个描述文件plist 指定安装文件,在手机的safari浏览器中通过itms-services:///?action=download-manifest&url=http://域名/xxxx.plist”的方式安装。本文随后详细说明:苹果App如何通过部署HTTPS实现不经过苹果商店的在线下载安装?。

注意:上面的方法越狱和非越狱都适用,但快捷打包生成的ipa只能安装在越狱手机上



二、苹果App如何通过部署HTTPS实现不经过苹果商店的在线下载安装?

部署https提供ipa的下载,步骤如下:

1. 搭建一个HTTPS服务,可以使用HTTPD或者Tomcat构建,具体可搜索相关帖子。由于https好用的证书(就是浏览器默认支持)需要付费,这里巧用github.com可以实现部署,可以参考坛友kiko 的帖子

2. 编写plist文件。plist文件中需注意提供正确的ipa文件路径,以及版本号和Bundle ID。模版: 点我下载

<?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>
     <!-- http或者https链接的ipa文件地址 -->
     <string>http://x5.justep.com/apps/x5.ipa</string>
    </dict>
    <dict>
     <key>kind</key>
     <string>full-size-image</string>
     <key>needs-shine</key>
     <true/>
     <key>url</key>
     <!-- http或者https链接的图片地址,可直接使用app对应的icon(分辨率没强制要求) -->
     <string>http://x5.justep.com/apps/x5.png</string>
    </dict>
    <dict>
     <key>kind</key>
     <string>display-image</string>
     <key>needs-shine</key>
     <true/>
     <key>url</key>
     <!-- http或者https链接的小图片地址,可直接使用app对应的icon(分辨率没强制要求) -->
     <string>http://x5.justep.com/apps/x5.png</string>
    </dict>
   </array>
   <key>metadata</key>
   <dict>
    <key>bundle-identifier</key>
    <!-- BundleID,就是新建app时的包名 -->
    <string>com.justep.x5.demo</string>
    <key>bundle-version</key>
    <!-- 版本号 -->
    <string>5.3.2</string>
    <key>kind</key>
    <string>software</string>
    <key>title</key>
    <!-- 安装app时的提示信息 -->
    <string>X5 App download</string>
   </dict>
  </dict>
 </array>
</dict>
</plist>

3. 将plist文件放在https服务目录下。这样就有一个有效的连接地址指向这个文件,例如:

1  https://github.com/myuser/myapp/blob/master/myapp.plist

  手机如果要安装app,可以在safari浏览器输入:

1  itms-services:///?action=download-manifest&url=https://xxx/.../myapp.plist

注意:是三个/,不是笔误,url后面写的就是一个有效的可访问plist的https地址,一定要https,否则无法打开

当然,你可以做一个页面,里面用一个链接指向这个地址,方便下载,例如:

1 <a οnclick="window.location.href='itms-services:///?action=download-manifest&url=https://xxx/.../myapp.plist'">下载IPA</a>