【问题标题】:Use Xcode to execute project created by Swift Package Manager使用 Xcode 执行 Swift Package Manager 创建的项目
【发布时间】:2016-03-20 19:47:04
【问题描述】:

我使用 Swift 包管理器创建了一个项目。为此,我运行了“swift build --init”,然后添加了两个源文件:

main.swift

import Foundation

print("Hello World")
let swifty = NSURLComponents(string: "https://swift.org")!
print("\(swifty.host!)")

let test = [1, 2, 3]

print(test)

 if Process.arguments.count != 2 {
     print("Usage: hello Name")
 } else {
     let name = Process.arguments[1]
     sayHello(name)
 }

和 Greeter.swift

func sayHello(name: String) {
    print("Hello, \(name)!")
}

所以这是非常基本的。当我直接使用可执行文件(./.build/debug/LeagueScraper)运行它时,它就像一个魅力。

但是我希望能够直接从 Xcode 运行它;为此,我编辑方案并将可执行文件设置为我的产品。问题是 Xcode 将 .build 存储在 Derived Data 目录中,然后给我这个错误:

dyld: Symbol not found: __TMPdSa
  Referenced from: /Users/aevitas/Library/Developer/Xcode/DerivedData/LeagueScraper-difkqqricvojhwdawinwisptcanb/Build/Products/Debug/LeagueScraper
  Expected in: /Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2016-03-16-a.xctoolchain/usr/lib/swift/macosx/libswiftCore.dylib
 in /Users/aevitas/Library/Developer/Xcode/DerivedData/LeagueScraper-difkqqricvojhwdawinwisptcanb/Build/Products/Debug/LeagueScraper
(lldb) 

可悲的是,我在这里有点菜鸟,我不知道如何解决这个问题。

我正在使用使用标准安装程序安装的 Swift 的最新开发快照。

我如何告诉 Xcode 为这个特定项目使用不同的工具链?

非常感谢。

【问题讨论】:

    标签: xcode swift2 toolchain


    【解决方案1】:

    Xcode 用于构建代码的工具链与 swift build 所属的 swift 之间存在不匹配。

    此错误已在下一个快照中修复。现在确保您使用正确的工具链启动 Xcode:

    xcrun launch-with-toolchain /Library/Developer/Toolchains/swift-latest.xctoolchain
    

    【讨论】:

    • 下一张快照什么时候出?谢谢:-)
    猜你喜欢
    • 2017-02-08
    • 2022-01-16
    • 2021-04-09
    • 1970-01-01
    • 2023-02-10
    • 1970-01-01
    • 2018-08-10
    • 2017-02-09
    • 2018-04-24
    相关资源
    最近更新 更多