我有一个 Obj-C 项目,现在想要迁移到 Swift。我已经成功地处理了各种类别的问题,但最近遇到了一个我似乎无法理解的问题。当我尝试编译我的当前代码库时,会出现以下(超级没用的错误消息):
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1
我唯一的假设是它与我的 bridging-headers 有关,但 Xcode 没有给我足够的信息来确定这是否属实。
我正在使用 Cocoapods
将 CorePlot
添加到我的项目中。我正在尝试将以下类迁移到 Swift 中:
Obj-C 类 (ScatterPlotContainer.h)
#import <Foundation/Foundation.h>
@class CPTScatterPlot;
@interface ScatterPlotContainer : NSObject
@property (nonatomic, strong) CPTScatterPlot *ahrsAlt;
@property (nonatomic, strong) CPTScatterPlot *calibration;
@property (nonatomic, strong) CPTScatterPlot *coreAlt;
@property (nonatomic, strong) CPTScatterPlot *pitch;
@property (nonatomic, strong) CPTScatterPlot *roll;
@property (nonatomic, strong) CPTScatterPlot *slip;
@end
Obj-c 类(ScatterPlotContainer.m)
#import <CorePlot/CPTScatterPlot.h>
#import "ScatterPlotContainer.h"
@implementation ScatterPlotContainer {
}
@end
Swift 转换
import Foundation
class ScatterPlotContainer : NSObject {
public var ahrsAlt : CPTScatterPlot;
public var calibration : CPTScatterPlot;
public var coreAlt : CPTScatterPlot;
public var pitch : CPTScatterPlot;
public var roll : CPTScatterPlot;
public var slip : CPTScatterPlot;
}
我的桥接头文件
#import <CorePlot/CPTScatterPlot.h>
我已经尝试过的
当我从桥接头文件中注释掉#import <CorePlot/CPTScatterPlot.h>
时,由于Swift不知道CPTScatterPlot是什么,我得到了一个错误。
我还尝试过 #import <CPTScatterPlot.h>
但也没有成功。
想法
所以我能想到的唯一可能是因为我正在使用一个 CocoaPods 库,所以可能需要添加一些模块名。错误信息并不是很有用。有人有建议吗? 是否我犯过某个严重的错误,或如何获得更详细的错误信息以弄清楚发生了什么?