Swift 在React本机应用程序库中未找到嵌入式框架的头文件
我目前正在从事一项合同工作,要求我帮助将第三方SDK与现有React本机应用程序集成。SDK只有Android和iOS特定的版本,这意味着它必须添加到特定于平台的方面(在我的例子中,是带有Xcode的iOS方面) 对于该应用程序,客户端创建了一个react本机模块,该模块内置在Xcode中的库中,由基本Xcode工作区项目根目录下的Swift 在React本机应用程序库中未找到嵌入式框架的头文件,swift,xcode,react-native,Swift,Xcode,React Native,我目前正在从事一项合同工作,要求我帮助将第三方SDK与现有React本机应用程序集成。SDK只有Android和iOS特定的版本,这意味着它必须添加到特定于平台的方面(在我的例子中,是带有Xcode的iOS方面) 对于该应用程序,客户端创建了一个react本机模块,该模块内置在Xcode中的库中,由基本Xcode工作区项目根目录下的Libraries/MyLibrary.xcodeproj中的一个单独嵌套Xcode项目表示。该库在React Native中定义了几个方法存根,这些方法存根需要在S
Libraries/MyLibrary.xcodeproj
中的一个单独嵌套Xcode项目表示。该库在React Native中定义了几个方法存根,这些方法存根需要在Swift中实现(同样在Android中),因为在这些方法中使用了第三方平台特定的SDK
我遇到的问题与访问库现有桥接头文件中的第三方SDK框架有关。我遵循了sun下的每一个教程,了解如何将外部框架与现有Xcode项目集成。这包括以下步骤:将框架添加到项目中,将其添加到项目目标的嵌入式二进制文件
和链接框架和库
部分,将其添加到项目目标和库目标的构建阶段/Link Binary With Libraries
部分,并在项目设置/框架搜索路径下添加框架路径。从这里,我使用#import
将适当的import语句添加到我的库的library bridgeing Header.h文件中,这样我就可以在Swift中访问框架。(这个import语句直接从SDK附带的样例项目的桥接头文件复制而来,因此我知道它是正确的,不应该以不同的格式给出,例如引号而不是尖括号)
不管以各种组合多次执行所有这些步骤,我在构建时仍然会遇到以下错误:MyFramework/MyFramework.h文件未找到
为了澄清,MyFramework
只是我试图集成的实际第三方框架的别名,MyLibrary
是现有库的别名,客户端只给了我方法存根,以便在Swift中实现
同样,我已经阅读了sun下的每一篇教程和论坛,但似乎没有一篇能够解决在react本机应用的iOS版本中的xcodeproj库中集成第三方框架这一非常具体的问题。我将感谢任何人可能提供的任何新见解或建议!而且,请不要只是发布一个链接或复制现有论坛帖子中关于类似问题的步骤,因为我可能已经读过了!我会在这里发布我的解决方案,以防有人遇到和我一样的问题
TLDR-您必须将第三方框架添加到xcodeproj库(不是顶级项目)的根目录中,并确保文件实际复制到该目录中,而不仅仅是从您复制框架的目录中引用(请确保再次签入Finder,因为由于某些原因,选中“需要时复制”框并不总是有效)。然后,您必须添加$(PROJECT\u DIR)
到xcodeproj库的构建设置/框架搜索路径
,还可以将框架从xcodeproj库的根目录拖放到库的构建阶段/与库链接二进制文件
面板中
我将通过我发现的其他教程/论坛来解决一些问题,希望它能帮助那些像我一样感到沮丧的人
大多数只涉及将框架添加到基本级别的项目,而不是项目中项目的模糊情况。因此,当您开始执行这些步骤时,您可能会混淆是否应该更改顶级项目或子项目的设置。同样,正如我所发现的,所有更改都应该只对他完成了这个子项目
有一些教程似乎确实解决了项目中某个项目的这种情况,但是这些步骤描述了在嵌入式二进制文件
和链接的框架和库
下将框架添加到顶级项目中,但我相信这些教程中描述的情况在某种程度上是微妙不同的新台币比这里的情况要好。再说一次,只会弄乱子项目
关于“伞形框架”有很多讨论,但这并不适用于这种情况,而且,术语的相似性会使它看起来像是一个类似的问题。据我所知,“伞形框架”受到苹果的阻挠,但同样,这种情况也不一样
对于冗长的解释,我感到抱歉,但我希望提供我在为这个奇怪的模糊问题寻找解决方案时希望找到的那种细节
干杯!您好,我面临这个问题,我在React本机库中添加了Swift框架,并遵循了步骤。但是,当我尝试在库中导入Swift文件并调用其显示错误时