自升级到swift 1.2后无法编译

时间:2015-04-09 14:18:26

标签: ios swift

自升级到swift 1.2后,我无法编译代码,因为如果出现以下错误信息:

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1

我的文件中绝对没有更具体的错误消息,因此几乎不可能找到问题。

我跑了这个试图找到罪魁祸首文件:

xcodebuild -project myApp -scheme myApp;

它指出4个文件可能会导致问题,但没有说明原因。以下是这些文件的内容,您是否看到了swift 1.2无法编译的原因?

import Foundation

struct UserScore {
    static var scoreValue: Int = 0
    var myLabel: UILabel
}

//Called in HandleVote
class CalculateScore  {
    func updateScore(scoreLabel: UILabel) {
        UserScore.scoreValue += 1
        scoreLabel.text = String(UserScore.scoreValue)
    }
}

class UpdateScoreInParse {
    func updateScore () {
        let user = PFUser.currentUser()
        var query = PFUser.query()
        query.getObjectInBackgroundWithId(user.objectId) {
            (score: PFObject!, error: NSError!) -> Void in
            if error != nil {
                println(error)
            } else {
                score.incrementKey("score")
                score.saveInBackground()
            }
        }
    }
}

class UpdateScoreLocally {
    func updateScore(label: UILabel) {
        let user = PFUser.currentUser()
        user.fetchInBackgroundWithBlock({ (user: PFObject!, error: NSError!) -> Void in
            if error == nil {
                let parseScore = Int(user["score"] as! NSNumber)
                UserScore.scoreValue = parseScore
                label.text = String(parseScore)
            } else {
                NSLog("Error: ", error)
            }
        })
    }
}

1 个答案:

答案 0 :(得分:1)

我发现了这个与这些文件无关的问题。 问题变成了第三方库的导入,如果它位于项目目录之外,则会导致此错误。它从来没有引起swift< 1.2。

当我将库移动到项目文件夹中时,这些文件停止了触发错误。我真的不知道为什么因为这些文件没有导入并且没有使用该库。无论如何,我能够清除那些错误,但我有一个新错误,幸运的是,我有更明确的错误。

所以看起来上面的代码没有任何具体问题。