【问题标题】:Using cocoapods without use_frameworks! in Swift在没有 use_frameworks 的情况下使用 cocoapods!在斯威夫特
【发布时间】:2023-04-01 02:40:01
【问题描述】:

根据this教程,我们应该在Swift项目中将use_frameworks!添加到Podfile。但是如何在同一个项目中使用.m中的第三方代码呢?

一种可能的方法是,

  • 不要将use_frameworks! 添加到Podfile
  • ...-Bridging-Header.h 中导入标头
  • 然后,我可以在 .swift 和 .m 文件中使用第三方代码

但是当我尝试在...-Bridging-Header.h 中导入标头时,它只是抛出*.h file not found 错误,如何解决这个问题?

【问题讨论】:

    标签: ios objective-c swift cocoapods bridging-header


    【解决方案1】:

    过去

    直到 CocoaPods 1.4.x(包括在内),如果没有 use_frameworks!,就无法将 CocoaPods 与 Swift 代码一起使用。

    目前:1.x.x 及以上

    如今,使用 CocoaPods 1.xx(我已使用 1.4.0 对其进行了验证),在 Swift 和 ObjC 项目中使用 use_frameworks! 很常见:它允许以您想要的任何方式混合两种语言而不会出现问题:

    • 您将能够在 Objective-C 项目中使用 Swift 依赖项。
    • 您将能够在 Swift 项目中使用 Objective-C 依赖项。

    目前:1.5.x 及以上

    现在,CocoaPods 1.5.0 supports integrating swift pods as static libraries。试试看 (sudo gem install cocoapods),享受从 Podfile 中删除 use_frameworks! 的乐趣。


    请注意,对于 iOS:

    • Apple 要求 Xcode 10.1 最低,这只是很好的支持starting CocoaPods 1.6.0,所以不要费心使用旧版本的 CocoaPods。
    • Apple 将在 2020 年 4 月要求最低 Xcode 11,为此我只会使用 CocoaPods 1.7.5 或更高版本,以及 xcodeproj 1.13.0 或更高版本。

    【讨论】:

    • 为了兼容 Xcode 11,我只会使用 CocoaPods 1.7.5 或更新版本。
    猜你喜欢
    • 2015-10-08
    • 2017-07-22
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多