ios - 仅在 iOS 11 可用时导入模块
<p><p>我想在我的项目中从 CocoaPods 导入一个模块,该模块的最小部署目标设置为 iOS 9.0。</p>
<p>在我的 Podfile 中,我将该特定框架的最低部署目标设置为 iOS 11,如下所示:</p>
<pre><code>#CoreML
platform :ios, '11.0'
pod 'xxx', '1.0.0'
</code></pre>
<p>这样我就可以<code>pod install</code>。</p>
<p>问题是当我在我的文件中导入它时,我收到以下错误:</p>
<blockquote>
<p>Module file's minimum deployment target is ios11.0 v11.0.</p>
</blockquote>
<p>只有在 iOS 11 可用的情况下,我应该如何导入它?我尝试使用 </p>
<pre><code>if #available(iOS 11, *) { ... }
</code></pre>
<p>和 <code>@available(iOS 11)</code>,但没有运气。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><ol>
<li><p>Podfile 不支持特定于 Pod 的部署目标。您可以像使用 <code>platform :ios, 'x.y'</code></p></li> 一样为所有 Pod 设置部署目标和生成的聚合目标
<li><p>你可以在你的 Lib 的 Podspec 中设置一个特定于 Pod 的部署目标:<code>spec.ios.deployment_target = '11.0'</code> -> 但这对你的情况没有帮助。 </p></li>
<li><p>在 Podfile (11.0) 中使用比在项目 (9.0) 中更高的部署目标是没有意义的。这些值应始终相等。</p></li>
</ol>
<p><strong>解决方案</strong>:在您的 Podfile 中设置 <code>platform :ios, '9.0'</code> 并有条件地导入/使用带有 @available 和 #available 的 11.0-only Lib。您可能还需要在“与库链接”下<strong>选择性地链接</strong>您的库,请参阅 <a href="https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html#//apple_ref/doc/uid/20002378-BBCJICEC" rel="noreferrer noopener nofollow">Apple Doc</a> </p>
<p>如果这对您不起作用,请分享更多信息(完整的 Podfile、Xcode 和 Cocoapods 版本、Lib 的 Podspec)</p></p>
<p style="font-size: 20px;">关于ios - 仅在 iOS 11 可用时导入模块,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/49777135/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/49777135/
</a>
</p>
页:
[1]