我正在使用一个 API,它可以在名为“链接”的字段内的页眉中提供下一页。(例如 Github 也是这样做的,所以这并不奇怪。Github Doc)
我正在使用的服务通过以下方式检索分页数据:
正如我们在“链接”中看到的那样,给了我下一页,其中$0.response?.allHeaderFields["Link"]:我明白了</api/games?page=1&size=20>; rel="next",</api/games?page=25&size=20>; rel="last",</api/games?page=0&size=20>; rel="first"。
我找到了以下代码来读取页面,但它非常脏......我想知道是否有人处理过同样的问题,或者是否有一个标准的方式来面对它。(我还搜索了 alamofire 是否支持任何类型的功能,但我还没有找到)
// MARK: - Pagination
private func getNextPageFromHeaders(response: NSHTTPURLResponse?) -> String? {
if let linkHeader = response?.allHeaderFields["Link"] as? String {
/* looks like:
<https://api.github.com/user/20267/gists?page=2>; rel="next", <https://api.github.com/user/20267/gists?page=6>; rel="last"
*/
// so split on "," the on ";"
let components = linkHeader.characters.split {$0 == ","}.map { String($0) }
// now we have 2 lines like '<https://api.github.com/user/20267/gists?page=2>; rel="next"'
// So let's get the URL out of …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 fastlane 增加项目的 build_number
new_build_number = Time.now.strftime("%Y%m%d%H%M")
increment_build_number(
build_number: new_build_number
)
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
ld:格式错误的 64 位 abcde 版本号:201901091627 clang:错误:链接器命令失败,退出代码 1(使用 -v 查看调用)
这是因为 fastlane 正在增加我的动态框架的当前库版本
(正如这里所说,如果我将 $(DYLIB_CURRENT_VERSION) 设置为当前库,它可以工作,但每次我执行 fastlane 时,它都会被修改并再次失败)。
如何使 Fastlane 不修改当前库版本,或者如何增加内部版本号并使其与动态框架一起使用?
非常感谢。