V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
brwzsy0733
V2EX  ›  Apple

ipa 文件存在哪可以实现在线安装?

  •  
  •   brwzsy0733 · 2023-07-03 09:37:12 +08:00 · 3394 次点击
    这是一个创建于 541 天前的主题,其中的信息可能已经有所发展或是发生改变。

    苹果文件安装包,不管我存在网盘还是 FTP 服务器,它都是提示“下载” , 怎么让文件地址用 Safari 打开就是在线安装文件呢?

    20 条回复    2023-07-05 18:01:33 +08:00
    estk
        1
    estk  
       2023-07-03 09:40:04 +08:00 via iPhone
    又不是安卓,想多了
    Wudilalala
        2
    Wudilalala  
       2023-07-03 09:41:32 +08:00 via Android
    alist 呀
    ybz
        3
    ybz  
       2023-07-03 09:42:15 +08:00
    如果你的 ipa 已经砸壳,重签。那么可以上传蒲公英安装。
    yekern
        4
    yekern  
       2023-07-03 09:42:19 +08:00
    存蒲公英
    brwzsy0733
        5
    brwzsy0733  
    OP
       2023-07-03 09:45:48 +08:00
    @Wudilalala alist 试过了,不行。。。。
    bsulike
        6
    bsulike  
       2023-07-03 09:57:25 +08:00
    蓝奏云也可以,但是有文件大小的限制
    cat
        7
    cat  
       2023-07-03 10:10:27 +08:00
    加个 plist 文件就行,之前有人发过,研究了一下,挺简单的
    ijasonme
        8
    ijasonme  
       2023-07-03 11:31:56 +08:00
    试试一些内测分发平台?
    kkeybbs
        9
    kkeybbs  
       2023-07-03 12:04:26 +08:00 via iPhone
    企业证书签名,然后 plist
    ETiV
        10
    ETiV  
       2023-07-03 12:35:46 +08:00 via iPhone
    企业证书+1
    Apple 官网有介绍具体怎么实现
    bao3
        11
    bao3  
       2023-07-03 13:24:24 +08:00
    借楼问一下,个人开发者证书签名过,对方的设备 UDID 也加在名单里,那可以让对方直接在线安装嘛
    wliansheng
        12
    wliansheng  
       2023-07-03 15:25:15 +08:00
    我司用的是 plist
    hohoho
        13
    hohoho  
       2023-07-03 15:30:50 +08:00   ❤️ 1
    @bao3 可以。

    1 、提供一个网页,网页上的下载是一个链接,类似:itms-services://?action=download-manifest&url=https://your.web.com/YourApp.plist

    注意:plist 文件必须是 https

    2 、plist 里的内容:

    ```xml
    <?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>http://your.web.com/YourApp.ipa</string>
    </dict>
    </array>
    <key>metadata</key>
    <dict>
    <key>bundle-identifier</key>
    <string>com.YourApp.BundleId</string>
    <key>bundle-version</key>
    <string>1.0.0</string>
    <key>kind</key>
    <string>software</string>
    <key>title</key>
    <string>YourAppName</string>
    </dict>
    </dict>
    </array>
    </dict>
    </plist>
    ```
    HeMinWon
        14
    HeMinWon  
       2023-07-03 15:51:48 +08:00
    apple configurator
    dusycool
        15
    dusycool  
       2023-07-03 16:10:45 +08:00 via iPhone
    bao3
        16
    bao3  
       2023-07-03 22:48:10 +08:00
    @hohoho 太感谢了~~~很详细。
    13927131347
        17
    13927131347  
       2023-07-04 04:57:36 +08:00 via iPhone
    @hohoho 此方法我在用,我在想这个.plist 中的连接可否实现 get 参数形式,比如 index.php?id=1 的时候引用.plist 的地址链接路径为 1.ipa ,index.php?id=2 的时候引用.plist 的地址链接路径为 2.ipa ,这样不用每次新增安装的 ipa 而创建一个文档
    hohoho
        18
    hohoho  
       2023-07-04 08:22:17 +08:00 via iPhone
    @13927131347 可以的。不知道苹果是否限制 plist 后缀,最好用 param 形式 /index/:plistId/app.plist 。服务端放一个 plist 模版,根据 plistId 生成不同内容的文件 response 。
    13927131347
        19
    13927131347  
       2023-07-04 22:39:52 +08:00 via iPhone
    @hohoho 如你上面提到的<key>url</key>
    <string>http://your.web.com/YourApp.ipa</string>
    这是 plist 文件中的 ipa 链接,但这连接是固定的,并不会变,需改成动态参数连接该如何写
    hohoho
        20
    hohoho  
       2023-07-05 18:01:33 +08:00
    @13927131347

    plist 模版里面有两个动态数据:bundleId 和 downloadUrl

    <string>{{bundleId}}</string>
    <string>{{downloadUrl}}</string>

    方案一:query 参数带进去 bundleId=encodeURIComponent(your.bundle.id)&downloadUrl=encodeURIComponent( http://your.web.com/your.ipa)

    方案二:在后端代码里写好 plistId 映射

    如:const map = { 'your-plistId-1' : { bundleId: '....', downloadUrl: '....' }}

    通过这两个方案取出来 bundleId 和 downloadUrl 替换 plist 模版,然后在 response 里面把新生成的 plist 字符串写进去。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3513 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 04:29 · PVG 12:29 · LAX 20:29 · JFK 23:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.