Ios 使用双引号(而不是尖括号)包括框架标题

Ios 使用双引号(而不是尖括号)包括框架标题,ios,frameworks,Ios,Frameworks,目前我正在从事大型项目的重构工作。在这里,我必须使用可用的代码库将其划分为模块。它应该是框架型的 作为单独的文件夹和单独的框架成功完成。虽然包含源文件的单独文件夹不会产生任何问题。但为了包含框架,我必须更改整个项目中的所有导入语句 前 包括应该是, #import <Framework/APIConnection.h> #导入 问题:请给我建议一个解决方案,我可以在其中包含框架并使用双引号导入它的头文件。对于直接包含头文件,编译器应该知道如何找到它。因此,您应该将标题目录添加到标

目前我正在从事大型项目的重构工作。在这里,我必须使用可用的代码库将其划分为模块。它应该是框架型的

作为单独的文件夹和单独的框架成功完成。虽然包含源文件的单独文件夹不会产生任何问题。但为了包含框架,我必须更改整个项目中的所有导入语句

包括应该是,

#import <Framework/APIConnection.h>
#导入

问题:请给我建议一个解决方案,我可以在其中包含框架并使用双引号导入它的头文件。

对于直接包含头文件,编译器应该知道如何找到它。因此,您应该将标题目录添加到标题搜索路径中

框架只是一个特殊的文件夹,标题放在框架内的标题目录中

经过测试,Xcode递归路径不适用于框架。另外,不使用框架名称前缀直接导入框架头也是不可取的。特别是对于系统框架。因为很难区分项目头和框架头

对于自定义框架,如果愿意,可以将框架项目根目录设置为递归头搜索路径

例子: 第一个路径包括项目中的所有标题。 第二条路径包含框架,但递归不起作用。 所以需要在第三条路径中显式指定

然后您可以直接导入
UIView.h
UIKit.h
(注意完成可能不起作用,但编译成功)


其中一个选项是将
clangu\u WARN\u QUOTED\u INCLUDE\u IN\u FRAMEWORK\u HEADER
设置设置为
NO
,用于目标和POD的构建设置

pod文件中添加:

post|u install do|installer|
installer.pods_project.targets.each do| target|
target.build|u configurations.each do|config|
config.build_设置['CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER']=“否”
结束
结束
结束

@AlokRao是的,框架只是一个特殊的文件夹,假设您的框架路径是/path/to/Framework.Framework。然后可以将/path/添加到/framework.framework/Headers/到标题搜索路径中。或者更简单地说,Xcode支持递归头搜索路径,所以只需设置根路径并选择recursive。它没有认出这些文件。然后我尝试使用SpriteKit框架。问题仍然存在。它无法与系统库一起工作。您是否在空白项目中尝试过上述示例?但它与我的自定义框架配合使用。。Ty@AlokRao事实上,您可以在编译日志中看到所有include dir。-I标志显示您的自定义包含路径。如果您的头文件不在这些目录中,则编译会报告未找到文件,您需要添加它。
#import <Framework/APIConnection.h>