【问题标题】:Swift Perfect compile command failed for linux environmentSwift Perfect 编译命令在 linux 环境下失败
【发布时间】:2017-05-21 12:40:58
【问题描述】:

我正在尝试在 Swift Perfect 项目上进行创建。我正在尝试为链接发送一个响应。我的班级如下所示

class Model: JSONConvertibleObject {

    static let registerName = "prospect"

    var userEmail = ""
    var authToken = ""
    var firstName = ""
    var lastName = ""
    var email = ""
    var countryCode = 0
    var phone = 0

    var mobile = 0
    var homeNo = 0
    var gender = ""
    var age = ""
    var martialStatus = ""
    var spiritualCondition = ""
    var language = ""
    var notes = ""

    let constants = SwConstants.JsonConstants()

    override func setJSONValues(_ values: [String : Any]) {
        self.firstName = getJSONValue(named: constants.firstName, from: values, defaultValue: "")
        self.lastName = getJSONValue(named: constants.lastName , from: values, defaultValue: "")
        self.email = getJSONValue(named: constants.email, from: values, defaultValue: "")
        self.countryCode = getJSONValue(named: constants.countryCode, from: values, defaultValue: 0)

        self.mobile = getJSONValue(named: constants.mobile, from: values, defaultValue: 0)
        self.homeNo = getJSONValue(named: constants.homeNo, from: values, defaultValue: 0)
        self.gender = getJSONValue(named: constants.email, from: values, defaultValue: "")
        self.age = getJSONValue(named: constants.age, from: values, defaultValue: "")
        self.language = getJSONValue(named: constants.language, from: values, defaultValue: "")
        self.spiritualCondition = getJSONValue(named: constants.spiritualCondition, from: values, defaultValue: "")


    }

    override func getJSONValues() -> [String : Any] {

        return [
            JSONDecoding.objectIdentifierKey:ProspectModel.registerName,
            constants.firstName:firstName,
            constants.lastName:lastName,
            constants.email: email,
            constants.countryCode :countryCode,
            constants.phone: phone,

            constants.mobile: mobile,
            constants.homeNo: homeNo,
            constants.gender:gender,
            constants.age:age,
            constants.martialStatus: martialStatus,
            constants.language:language,
            constants.spiritualCondition:spiritualCondition

        ]

    }

}

只要我添加了 spiritCondition 并尝试使用 Docker 在 Swift Asistant 中编译构建,MacOS 构建就会成功构建。但是,linux构建给出了错误

<unknown>:0: error: unable to execute command: Killed
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
Failed: systemError(1, "sh: no job control in this shell\n<unknown>:0: error: build had 1 command failures\nswift-build: error: exit(1): /swift-3.0.2-RELEASE-ubuntu16.04/usr/bin/swift-build-tool -f /perfectbuild/.build_lin/release.yaml\n")

谁能解释一下问题出在哪里?我是 Swift Perfect 的新手。我也无法详细说明。如果有人解释如何构建详细信息,那将非常有帮助。

【问题讨论】:

  • 啊!不。如果必须的话,即使数据很少,我也应该面对。
  • 你是在云服务器上编译这个吗?您的应用程序可能已被终止,因为它在编译时使用了太多内存。如果是这种情况,您可以通过在操作系统上启用一些交换空间来修复它。

标签: swift linux docker perfect


【解决方案1】:

首先,你应该试试 Perfect Assistant 2,它现在可以选择 Swift 3.1 或更高版本在这个应用程序中编译。其次,我不知道你的“SwConstant”,所以我无法编译你的代码。

不过,此 sn-p 已在 OS X 和 Linux 上由 PA2 进行了测试:

import PerfectLib

class User: JSONConvertibleObject {
  static let registerName = "user"
  var firstName = ""
  var lastName = ""
  var age = 0
  override func setJSONValues(_ values: [String : Any]) {
    self.firstName = getJSONValue(named: "firstName", from: values, defaultValue: "")
    self.lastName = getJSONValue(named: "lastName", from: values, defaultValue: "")
    self.age = getJSONValue(named: "age", from: values, defaultValue: 0)
  }
  override func getJSONValues() -> [String : Any] {
    return [
      JSONDecoding.objectIdentifierKey:User.registerName,
      "firstName":firstName,
      "lastName":lastName,
      "age":age
    ]
  }
}

JSONDecoding.registerJSONDecodable(name: User.registerName, creator: {  return User() })

let user = User()
user.firstName = "Donnie"
user.lastName = "Darko"
user.age = 17

if let encoded = try? user.jsonEncodedString() {
  print(encoded)
  if let u = try? encoded.jsonDecode() as? User, let v = u {
    print(v.age, v.firstName, v.lastName)
  }
}

祝你好运。

【讨论】:

    猜你喜欢
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多