使用Objective-C的Fastlane快照

时间:2016-01-05 17:25:55

标签: ios screenshot snapshot fastlane

我正在尝试使用Fastlane使用快照工具截取我的应用的屏幕截图。但是,转换为Objective-C似乎无法正常工作。我将Project-Swift.h导入到我的ProjectUITests.m文件中,并且包含以下代码:

SnapshotHelper *snapshotHelper = [[SnapshotHelper alloc] init];
[snapshotHelper setLanguage:app];
[snapshotHelper snapshot:@"01Homescreen" waitForLoadingIndicator:YES];

但是,当我在命令行中运行命令“snapshot”时,出现以下错误:

Testing failed:
Use of undeclared identifier 'SnapshotHelper'
Use of undeclared identifier 'snapshotHelper'

(1 failure)
[12:14:52]: Exit status: 65
[12:14:52]: Tests failed - check out the log above

所以我的问题是,如何在我的ProjectUITests.m文件中成功运行SnapshotHelper.swift文件?

1 个答案:

答案 0 :(得分:2)

我不得不更改SnapshotHelper.swift文件:

var deviceLanguage = ""

@objc class SnapshotHelper : NSObject { // <--- add this

@available(*, deprecated, message="use setupSnapshot: instead")
class func setLanguage(app: XCUIApplication) {
    setupSnapshot(app)
}

...

} // ...@objc class

(以下是关于github的相关问题:https://github.com/fastlane/snapshot/issues/228

我的Xcode不时没有为我创建桥接标题。最简单的解决方法是从项目中删除swift文件并再次添加。通常然后Xcode询问我是否需要桥接标题。

最终,您可能需要转到目标的构建设置&gt; Apple LLVM 7.0 - 语言 - 模块&gt;启用模块(C和Objective-C)= YES。