2016-01-30 54 views
0

我想使用的Xcode 7.0輕量級語法:我可以使用Xcode 7輕量級語法,但仍支持Travis?

NSArray<NSDictionary<NSString *, NSString *> *> *fooList; 

但特拉維斯只支持Xcode的6.1:https://docs.travis-ci.com/user/osx-ci-environment/

有沒有辦法在Xcode 6號樓特拉維斯時忽略尖括號?

[編輯:的問題是不相關的:Travis supports Xcode 7]

+1

我以前用過travis-ci。但由於他們缺乏保持mac/ios最新,長達一週停機的工具鏈的能力,我們現在正在與另一種解決方案:[buildkite](https://buildkite.com)。與Travis一樣易於配置,但是通過我們的設置在我們的硬件上執行。 Xcode的新版本發佈了嗎?我們只是安裝它。完成。 – vikingosegundo

回答

2

在Objective-C的新版本中發現需要編譯器的新版本在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版本。

更好的解決方案是使用支持最新版Xcode和相關SDK/API的CI工具。

+0

@Cœur我不熟悉任何。 – rmaddy