我在Travis和Fastlane(Gym)上遇到问题,但没有找到解决它的方法。

我通过Cocoapods添加了一个新的依赖项,并且在我的设备上一切正常,但是当我通过Travis运行它时,遇到以下错误:

no known class method for selector 'labelColor'
no known class method for selector 'systemBackgroundColor'
no known class method for selector 'secondarySystemBackgroundColor'

在这些地方,存在一个@available宏,因为它们在13以下的iOS版本中不存在。

if (@available(iOS 13.0, *)) {
        return [UIColor labelColor];
    } else if ([self isDarkColor:[self getBackgroundColor:config]]) {
        return [UIColor whiteColor];
    }


那么,为什么它在特拉维斯失败了?以及如何避免呢?

我现在要做的是在yaml文件中定义Xcode11.1,但这尚未解决问题。有没有一种方法可以指定仅在iOS 13上运行它?

我添加了以下内容,但仍然失败:

osx_image: xcode11.1
language: objective-c
xcode_destination: platform=iOS Simulator,OS=13,name=iPhone X


谢谢!

最佳答案

您的yaml文件中似乎有一个错字。

Per the travis documentation for Xcode 11

os_image: xcode11.1


从您发布的值中删除x。

关于ios - iOS中@available命令的Travis错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59179723/

10-14 13:38
查看更多