[英]Swift 2.0, Xcode 7 issue
我從這里使用RAMAnimatedTabBarController模塊: https : //github.com/Ramotion/animated-tab-bar
我使用Xcode 6在swift 1.2中開發了我的整個應用程序,應用程序運行得很好。 我想嘗試使用帶有swift 2.0的Xcode 7對我的應用程序進行“側載”。 我有太多的錯誤,我設法解決了大多數錯誤,但有三個。
1)來自該RAMAnimatedTabBarController模塊的這行代碼拋出一個錯誤,說明在Xcode 6中完美編譯時無法激發該函數:
var constranints = NSLayoutConstraint.constraintsWithVisualFormat(formatString,options:NSLayoutFormatOptions.DirectionRightToLeft,metrics: nil,views: containersDict as [NSObject : AnyObject])
編譯器錯誤是:
無法使用類型為'(String,options:NSLayoutFormatOptions,metrics:nil,views:[NSObject:AnyObject])的參數列表調用'constraintsWithVisualFormat'
2)拋出另一個異常錯誤:
鏈接器命令失敗,退出代碼為1(使用-v查看調用)
3)另一個:
(null):錯誤:無法解析調試映射“/Users/Rakshith/Library/Developer/Xcode/DerivedData/Blubot-heabwwmhqxxvctaabxkwcpgzsadx/Build/Intermediates/SwiftMigration/Blubot/Products/Debug-iphonesimulator/BlubotTests.xctest/BlubotTests” : 沒有相應的文件和目錄
我的項目究竟出了什么問題? 它仍然設置為iOS 8.3。
禁用BitCode
Build Settings -> BitCode
我設法糾正了大多數人在運行Xcode 7 Beta以及Xcode 6時可能遇到的第二和第三個錯誤。只需按照本步驟中提到的步驟解決這兩個錯誤: Xcode Version 6.1(6A1030) - Apple Match O-Linker錯誤 - 構建
試試這個方法:
func createViewContainers() -> [String: UIView] {
var containersDict = [String: UIView]()
guard let tabBarItems = tabBar.items else
{
return containersDict
}
let itemsCount: Int = tabBarItems.count - 1
for index in 0...itemsCount {
let viewContainer = createViewContainer()
containersDict["container\(index)"] = viewContainer
}
var formatString = "H:|-(0)-[container0]"
for index in 1...itemsCount {
formatString += "-(0)-[container\(index)(==container0)]"
}
formatString += "-(0)-|"
let constranints = NSLayoutConstraint.constraintsWithVisualFormat(formatString,
options:NSLayoutFormatOptions.DirectionRightToLeft,
metrics: nil,
views: containersDict)
view.addConstraints(constranints)
return containersDict
}
如何將“containersDict as [NSObject:AnyObject]”中的小代碼更改為“containersDict as [String:AnyObject]”。
然后我解決了上述方法的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.