我用Swift写了一个库,但我不能把它导入到我目前用Objective-C写的项目中。

有什么方法可以导入吗?

#import "SCLAlertView.swift" - 'SCLAlertView.swift' file not found

当前回答

在Objective-c中导入Swift文件会导致这个错误,如果导入不正确的话。

注意:你不需要从外部导入Swift文件,你只需要导入一个文件来照顾Swift文件。

当你在Objective-C项目中创建/复制Swift文件时。它会自动创建一个桥接头。

检查Objective-C生成的接口头名称在目标->构建设置。

基于以上,我将按原样导入KJExpandable-Swift.h。

你的将是TargetName- swift .h,其中TargetName根据你的项目名称或你可能添加并在其上运行的另一个目标而不同。

因为下面我的目标是KJExpandable,所以它是KJExpandable- swift .h

其他回答

第一步:-

选择项目目标->构建设置->搜索(“定义”)->定义模块 将值从No更新为Yes

“定义模块”:YES。

“总是嵌入Swift标准库”:是的。

“安装Objective-C兼容头”:YES。

第二步:-

在Objective C“.h”文件中添加Swift文件类,如下所示

#import <UIKit/UIKit.h>

@class TestViewController(Swift File);

@interface TestViewController(Objective C File) : UIViewController

@end

在Objective C中导入“ProjectName(你的项目名)-Swift.h”。m”文件

//TestViewController.m 
#import "TestViewController.h"

/*import ProjectName-Swift.h file to access Swift file here*/

#import "ProjectName-Swift.h"

在同一个项目中检查Swift和Objective C的发布前说明

https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html#//apple_ref/doc/uid/TP40014216-CH10-XID_75

你应该导入

#import "SCLAlertView-Swift.h"

如果你正在使用Cocoapods,并试图在ObjC项目中使用Swift pod,你可以简单地执行以下操作:

@import < FrameworkName >;

#import <TargetName-Swift.h>

当你从键盘输入#import <时,你会看到Xcode会自动提示你。

如果你在同一个框架中将Swift代码导入到Objective-C文件中,有一个警告。你必须指定框架名和尖括号:

# < MyFramework /进口MyFramework-Swift.h >

这里是“产品模块名称”构建设置(PRODUCT_NAME = MyFramework)。

简单地添加#import“myframe - swift .h”是行不通的。如果你检查构建的产品目录(在添加#import之前,所以你至少有一个成功的构建目标中有一些Swift代码),那么你仍然应该在Headers目录中看到文件myframe -Swift.h。