菜鸟教程小白 发表于 2022-12-13 11:48:14

ios - 使用旧设备的 iOS 用户可以查看和下载我的应用程序的早期版本吗?


                                            <p><p>我的应用程序目前在 App Store 中适用于 <code>armv7</code> 和 <code>arm64</code> 架构。假设它是 <strong>1.0</strong> 版本。
由于二进制文件的大小,我正在考虑仅针对 64 位设备的想法,以避免胖二进制文件中的 armv7 和 armv7s 切片。由于 3rd 方框架(特别是 Google),Bitcode 目前不是一个选项,所以 64 位定位是我最后的选择。假设它将是 <strong>2.0</strong> 版本。</p>

<p>如果 <code>armv7</code> 设备在 App Store 上查找我的应用程序,用户会发生什么?
AFAIK,如果用户之前下载了应用程序版本 <strong>1.0</strong>,将提供再次下载 <strong>1.0</strong> 的选项(即:恢复之前的下载)。</p>

<p>但是,如果用户以前从未下载过应用程序怎么办?是否可以选择下载 <strong>1.0</strong> 作为应用程序的“最后兼容”版本?还是会被强制下载<strong>2.0</strong>,它不在用户的设备上运行?</p>

<p>我想提交一个 <code>arm64</code> 更新而不限制我的受众(如果 <code>armv7</code> 用户仍然使用该应用程序的早期版本,则没有问题)。</p >

<hr/>

<p><strong>编辑</strong></p>

<p>正如 Nicolas Braun 所指出的,由于我的应用目前同时支持 <code>armv7</code> 和 <code>arm64</code> 我无法提交 <code>arm64</code>-仅更新,因为它会限制设备要求。</p>

<p>如果我提交的更新<strong>需要</strong> <code>iOS >= 9</code> 不支持位码,客户是否能够下载仅包含所需的可执行架构的变体?目标设备?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>首先,一旦您将应用程序提供给一组设备,您就不能添加技术限制(即设备功能),以防止它在以前兼容的设备上运行。</p>

<p>在 <a href="https://developer.apple.com/library/ios/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html#//apple_ref/doc/uid/TP40013599-CH17-SW1" rel="noreferrer noopener nofollow">Apple Doc</a> 中有说明即使真的不清楚:</p>

<blockquote>
<p>Important: All device requirement changes must be made when you submit an update to your binary. You are permitted only to expand your device requirements. Submitting an update to your binary to restrict your device requirements is not permitted. You are unable to restrict device requirements because this action will keep customers who have previously downloaded your app from running new updates.</p>
</blockquote>

<p>您可以更改的唯一限制兼容设备的参数是最低操作系统版本。更具体的</p>

<blockquote>
<p>Developers can add restrictions to UIRequiredDeviceCapabilities on app updates provided any device that is dropped cannot support the min os version specified.
<a href="http://oleb.net/blog/2011/12/uirequireddevicecapabilities-cannot-be-changed-in-app-updates/" rel="noreferrer noopener nofollow">Source</a></p>
</blockquote>

<p>也就是说,我相信无论 Bitcode 是否激活,App Thinning 都可以在 iOS9 上运行。取自 <a href="https://developer.apple.com/library/tvos/documentation/IDEs/Conceptual/AppDistributionGuide/AppThinning/AppThinning.html" rel="noreferrer noopener nofollow">Apple App Thinning doc</a> </p>

<blockquote>
<p>Slicing is the process of creating and delivering variants of the app bundle for different target devices. A variant contains only the executable <strong>architecture</strong> and resources that are needed for the target device.</p>
</blockquote>

<p>您可以在同一个链接中看到 bitcode 不是一回事。</p>

<p>干杯,</p>

<p>尼古拉斯</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 使用旧设备的 iOS 用户可以查看和下载我的应用程序的早期版本吗?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/33833916/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/33833916/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 使用旧设备的 iOS 用户可以查看和下载我的应用程序的早期版本吗?