Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 在Pod中嵌入没有模块的框架_Swift_Module_Frameworks_Cocoapods - Fatal编程技术网

Swift 在Pod中嵌入没有模块的框架

Swift 在Pod中嵌入没有模块的框架,swift,module,frameworks,cocoapods,Swift,Module,Frameworks,Cocoapods,我正在使用作为框架提供的第三方库:library.framework。显然,它只能在我的Swift项目中通过执行#导入的桥接头使用。这在大多数情况下都很好 然而,我目前正在开发一个Pod,我想在其中使用Library.framework。这意味着我不能依赖桥接头 我试图在我的Pod目标中链接Library.framework(请参见常规>链接的框架和库),但是,一旦Pod安装到我的应用程序中,Xcode表示Pod无法编译,因为在库中找不到一些文件 这里采用的最佳策略是什么?在您的pod项目中,我

我正在使用作为框架提供的第三方库:library.framework。显然,它只能在我的
Swift
项目中通过执行
#导入
的桥接头使用。这在大多数情况下都很好

然而,我目前正在开发一个Pod,我想在其中使用Library.framework。这意味着我不能依赖桥接头

我试图在我的Pod目标中链接Library.framework(请参见
常规>链接的框架和库
),但是,一旦Pod安装到我的应用程序中,Xcode表示Pod无法编译,因为在库中找不到一些文件


这里采用的最佳策略是什么?

在您的pod项目中,我假设您有一个名为[PodName].h的文件,它看起来与下面的文件类似。 您可以尝试在此文件中添加标头

//
//  PodName.h
//  PodName
//
//  Created by John Doe on 06.04.2016.
//  Copyright © 2016 John Doe Inc. All rights reserved.
//

#import <UIKit/UIKit.h>

//! Project version number for PodName.
FOUNDATION_EXPORT double PodNameVersionNumber;

//! Project version string for PodName.
FOUNDATION_EXPORT const unsigned char PodNameVersionString[];

// In this header, you should import all the public headers of your framework using statements like #import <PodName/PublicHeader.h>

#import <Library/Library.h> // Add framework header here.
//
//PodName.h
//豆荚名称
//
//由John Doe于2016年4月6日创建。
//版权所有©2016 John Doe Inc.保留所有权利。
//
#进口
//! PodName的项目版本号。
基金会\导出双PodNameVersionNumber;
//! PodName的项目版本字符串。
基础_导出常量unsigned char PodNameVersionString[];
//在这个标题中,您应该使用#import之类的语句导入框架的所有公共标题
#导入//在此处添加框架标题。
我想我成功了

诀窍是在Pod.podspec中的
源文件
公共头文件
中添加.h文件

像这样:

s.source_files = 'Library.framework/Headers/*.h'
s.public_header_files = 'Library.framework/Headers/*.h'

这样,所有头文件都会显示在
Pod umbrane.h
中,现在可以在我的应用程序中使用。

您是否尝试编辑您的方案?在构建部分,如果您取消选中“并行化构建”,您可以选择目标编译的顺序谢谢您的回答,但这会引发更多的问题:什么方案以及它应该做什么?产品>方案>编辑方案>构建。然后取消选中“并行化构建”,您就可以对目标进行重新排序,而不会改变任何内容。问题仍然存在:在我的Pod的Library.framework中找不到文件。请看一下构建阶段。检查您的库是否显示在“使用库链接二进制文件”和“嵌入框架”中