我想使用Xcode 7.0轻量级语法:
NSArray<NSDictionary<NSString *, NSString *> *> *fooList;但是Travis只支持Xcode 6.1:https://docs.travis-ci.com/user/osx-ci-environment/
在用Xcode 6为Travis构建时,有没有一种方法可以忽略尖括号呢?
[编辑:问题与此无关: Travis支持Xcode 7]
发布于 2016-01-30 03:38:10
在新版本的Objective中发现的轻量级泛型语法需要Xcode 6中没有的编译器的更新版本。
因此,在使用Xcode 6时,没有简单的方法来获得这样的语法来编译。
您唯一的选择是糟糕的代码,例如:
#if __IPHONE_OS_VERSION_MAX_ALLOWED < 90000
NSArray *fooList;
#else
NSArray<NSDictionary<NSString *, NSString *> *> *fooList;
#endif不用说,这远非一个好主意。
但你有更大的问题。尝试使用Xcode 6进行持续集成构建您真正想用Xcode 7构建的应用程序是个坏主意。最后,您没有构建或测试正确的代码。您甚至不能支持适当的API或版本的iOS。
更好的解决方案是使用一个CI工具来支持最新版本的Xcode和相关的SDK/API。
https://stackoverflow.com/questions/35097563
复制相似问题