Swift 2.0, Xcode 7 issue



我在这里使用RAMAnimatedTabBarController模块:https://github.com/Ramotion/animated-tab-bar

我使用Xcode 6在swift 1.2中开发了我的整个应用程序,该应用程序运行得很完美。我想尝试使用Xcode 7"侧加载"我的应用程序,它有swift 2.0。我有太多的错误,我设法解决了大部分错误,只有三个。

1) 这行代码来自RAMAnimatedTabBarController模块,当它在Xcode 6:中完美编译时,它抛出了一个错误,称无法调用该函数

 var  constranints = NSLayoutConstraint.constraintsWithVisualFormat(formatString,options:NSLayoutFormatOptions.DirectionRightToLeft,metrics: nil,views: containersDict as [NSObject : AnyObject])

对此的编译器错误为:

无法使用的参数列表调用"constraintsWithVisualFormat"type'(字符串,选项:NSLayoutFormatOptions,度量:nil,视图:[NSObject:AnyObject])'

2) 引发了另一个异常错误:

链接器命令失败,退出代码为1(使用-v查看调用)

3) 另一个:

(null):错误:无法分析的调试映射"/Users/Rakshith/Library/Developer/Xcode/DerivedData/Blubot heabwwmhqxxvctaabxkwcpgzsadx/Build/Inmediates/SwiftMigration/Blubot/Products/Debug iphonesimulator/BlubotTests.xctest/BlubotTest":没有这样的文件或目录

我的项目到底出了什么问题?它仍然设置为iOS 8.3。

禁用位代码

Build Settings -> BitCode

我成功地纠正了第二个和第三个错误,当您运行Xcode 7 Beta和Xcode 6时,大多数人可能会面临这个错误。只需按照本步骤中提到的步骤解决这两个错误:Xcode版本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'"。

然后我用上面的方法解决了这个问题。

相关内容

  • 没有找到相关文章

最新更新