【问题标题】:MyClass is unavailable: cannot find Swift declaration for this classMyClass 不可用:找不到此类的 Swift 声明
【发布时间】:2016-05-03 23:33:43
【问题描述】:

我正在 swift 中构建一个自定义框架。我已经为所有架构构建了框架。我在我的示例应用程序中使用 Debug-Uni​​versal 构建。现在,当我运行该应用程序时,它在模拟器中运行良好,但在设备上运行时,我收到错误 Breeze is available: cannot find Swift declaration for this class

当我使用 Release-Universal 时,它给出了 No such Module BreezeSDK

【问题讨论】:

  • 看看是否添加了briefSDK作为目标“ExperimentFramework2”的框架?

标签: ios xcode swift


【解决方案1】:

按照这些步骤进行

  1. 下载 Bareeze SDK。
  2. 将 Breeze.xcodeproj 拖放到您的项目中。
  3. 接下来,在 Project Navigator 中选择您的应用程序项目(蓝色项目图标)以导航到目标配置窗口,然后在侧边栏中的“Targets”标题下选择应用程序目标。
  4. 在该窗口顶部的标签栏中,打开“常规”面板。
  5. 点击“嵌入式二进制文件”部分下的 + 按钮。
  6. 选择顶部的 Breeze.framework

希望这可以解决问题。

【讨论】:

  • 我已将它包含在构建阶段->链接二进制文件中
  • Breeze SDK 中的部署目标和您的项目中的部署目标是否相同?
  • 是的部署目标是相同的。 9.0
  • 删除 Breeze SDK 并重新添加到项目中。
  • 我重复了很多次。甚至清理垃圾。是否退出了 xcode 并再次重新启动。
【解决方案2】:

创建通用二进制文件后按照以下步骤操作:

lipo 之前,您正在为各个架构构建.framework 包。

对于每个包:

  1. 遍历到abc.framework/Modules/abc
  2. 复制文件.swiftdoc
  3. 进入universal abc
  4. 遍历到abc.framework/Modules/abc
  5. 粘贴您在第 2 步中复制的文件

对所有架构重复这些步骤。

最后你的通用框架包路径abc.framework/Modules/abc.swiftmodule/应该包含 这些文件:

  • arm.swiftdoc
  • arm.swiftmodule
  • arm64.swiftdoc
  • arm64.swiftmodule
  • i386.swiftdoc
  • i386.swiftmodule
  • x86_64.swiftdoc
  • x86_64.swiftmodule

Swift 编译器需要每个架构的 swiftmodule 映射文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-25
    • 2015-07-03
    • 2015-12-18
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多