- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
一些 Cocoapods,例如YLTableView , 不要将 'DEFINES_MODULE' => 'YES'
设置为它们的 pod_target_xcconfig
的一部分。这意味着,例如,import YLTableView
在 Swift 中不起作用,除非您像这样在 Podfile 中设置 :modular_headers => true
:
pod 'YLTableView', '~> 2.2.0', :modular_headers => true
如果我正在编写 podspec,有什么理由不应该像这样在我的配置中包含 DEFINES_MODULE?
ss.pod_target_xcconfig = { "DEFINES_MODULE" => "YES" }
在我看来,这没有任何负面影响,它使 Swift 用户可以更轻松地使用我的库。
最佳答案
存在一个已知问题(有解决方法):https://github.com/CocoaPods/CocoaPods/issues/7584 .这可能会导致用户在其预编译 header (*.pch) 中直接导入您的 Objective-C 库 header 时出现问题。您可以通过在 lib 源文件中包含一个空的 swift 文件来解决它。 future 版本的 CocoaPods 中可能会有一个干净的修复程序。
否则,没有真正的缺点。它在构建时为导入启用更严格的搜索路径,这意味着:
@import
或在 Swift 中使用 import
找到它)来自 the blog post regarding CocoaPods 1.5.0 release :
[...] CocoaPods allowed any pod to import any other pod with un-namespaced quote imports.
For example, pod B could have code that had a #import "A.h" statement, and CocoaPods will create build settings that will allow such an import to succeed. Imports such as these, however, will not work if you try to add module maps to these pods. We tried to automatically generate module maps for static libraries many years ago, and it broke some pods, so we had to revert.
In this release, you will be able to opt into stricter header search paths (and module map generation for Objective-C pods). As a pod author, you can add 'DEFINES_MODULE' => 'YES' to your pod_target_xcconfig. [...]
关于ios - 在我的 podspec 中设置 DEFINES_MODULE = YES 有什么缺点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51227921/
我最近在我的项目中添加了 Swift 支持的库,目前我的项目主要语言是 Objective-C,因此它显示了一些依赖警告 在我的项目中如下所示: warning: using 'ALWAYS_SEAR
一些 Cocoapods,例如YLTableView , 不要将 'DEFINES_MODULE' => 'YES' 设置为它们的 pod_target_xcconfig 的一部分。这意味着,例如,i
我是一名优秀的程序员,十分优秀!