hir*_*oga 1 command-line-interface swift alamofire
我想尝试通过CLI上的swift库通过API获取子文件。我正在使用Alamofire库,但无法理解如何导入Swift库。
也许在导入(构建?链接?)之前需要执行一些任务,但是我找不到如何记录文档的方法。您能教我该怎么做吗?
$ swift getAPI.swift
getAPI.swift:1:8: error: no such module 'Alamofire'
import Alamofire
^
Run Code Online (Sandbox Code Playgroud)
import Alamofire
func getArticles(){
Alamofire.request(.GET, "https://qiita.com/api/v2/items")
.responseJSON { response in
print(response.result.value )
}
}
getArticles()
Run Code Online (Sandbox Code Playgroud)
这应该有助于运行一次性脚本以及使用Swift REPL时。但是,为构建用于命令行的简单工具,我建议您使用Swift软件包管理器,因为它会为您处理链接和依赖项管理。
要将脚本代码链接到Alamofire库,迅速的编译器必须知道库的位置。默认情况下,它搜索/ Library / Frameworks,但是我们可以提供选项来告诉它其他位置。选中swift --help,我们看到以下选项(在许多其他选项中)。
USAGE: swift [options] <inputs>
OPTIONS:
-F <value> Add directory to framework search path
-I <value> Add directory to the import search path
-L <value> Add directory to library link search path
Run Code Online (Sandbox Code Playgroud)
您提供的目录必须包含要导入的库的已编译二进制文件。
.swiftmodule二进制文件,请使用-I.framework二进制文件,请使用-F-L我认为Carthage和CocoaPods将构建框架,而Swift Package Manager将构建.swiftmodules。所有这三个都应将二进制文件放在非常可预测的位置。不同种类的二进制文件可能全部相同,没关系。
综上所述,如果您使用SPM进行构建,则调用可能如下所示:
$ swift -I .build/debug/
Run Code Online (Sandbox Code Playgroud)
但是,如果您使用迦太基管理依赖项,它可能看起来像这样:
$ swift -F ./Carthage/Build/iOS
Run Code Online (Sandbox Code Playgroud)
为了进一步阅读,我发现这些资源很有用:
更新: Swift软件包管理器现在也可以为您解决这个问题!如果您是以包的形式编写脚本,并且包含一堆依赖项(例如Alamofire),则现在可以在REPL中对其进行测试。只需cd进入您的包目录并使用即可启动它swift run --repl。有关更多详细信息,请参见swift.org博客。
| 归档时间: |
|
| 查看次数: |
598 次 |
| 最近记录: |