【问题标题】:How to enable "always embed swift standard libraries" for a xamrin app?如何为 xamarin 应用启用“始终嵌入 swift 标准库”?
【发布时间】:2020-08-04 04:20:04
【问题描述】:

我有一个 xamarin 表单应用程序,我在其中使用为 swift 框架生成的绑定 dll。

但根据苹果文档, 如果您正在构建的应用程序不使用 Swift 但嵌入了框架等内容,那么 Xcode 将不会在您的应用程序中包含这些库。要解决此问题,请在您的应用程序中将 Embedded Content Contains Swift Code (EMBEDDED_CONTENT_CONTAINS_SWIFT) 构建设置设置为 YES。此构建设置指定目标的产品是否嵌入了带有 Swift 代码的内容,当设置为 YES 时,它会告诉 Xcode 在您的应用中嵌入 Swift 标准库。

那么我们如何为 xamarin 应用启用此构建设置?

[编辑] SwiftRuntimeSupport NuGet 包已经是项目的一部分。但是,在检查 ipa 时,发现 swiftSupport 文件夹只包含一个空的 iphoneos 文件夹。

【问题讨论】:

    标签: ios swift xamarin xamarin.forms xamarin.ios


    【解决方案1】:

    Xamarin 有一个 SwiftRuntimeSupport nuget,用于处理 iOS 版本和构建详细信息。

    使用 SwiftRuntimeSupport NuGet 包将所需的 dylib 依赖项自动包含到生成的应用程序包中。

    Consume the Xamarin binding library

    博文:Binding iOS Swift Libraries

    【讨论】:

    • 我的项目中已经包含了那个 NuGet 包。应用商店拒绝了该应用。重新生成ipa,解压缩并检查。 swiftSupport 文件夹有一个空的 iphoneos 文件夹。
    • @MidhunKumar 如果您的应用程序面向 iOS 12.2 和 Swift 5.1,那么 Swift 包含在 iOS 中,因为它现在具有稳定的 ABI,iOS 版本和低于该版本的 Swift 版本,需要包含 Swift 库在您的应用程序中。 SwiftRuntimeSupport nuget 处理这些版本要求,您的应用程序目标是什么?
    • 部署目标是10.0
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-15
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2019-05-27
    • 1970-01-01
    相关资源
    最近更新 更多