使用 .netrc 文件安装 Mapbox iOS SDK

Posted

技术标签:

【中文标题】使用 .netrc 文件安装 Mapbox iOS SDK【英文标题】:Mapbox iOS SDK installation using .netrc file 【发布时间】:2021-01-02 06:12:28 【问题描述】:

我在安装 pod 时遇到以下问题。

[!] 安装 Mapbox-ios-SDK 时出错 [!] /usr/bin/curl -f -L -o /var/folders/qn/l5lqh07s5sscfzbm1tklmzgr0000gn/T/d20200915-46243-1aqah9u/file.zip https://api.mapbox.com/downloads/v2/mobile-maps/releases/ios/packages/6.1.0/mapbox-ios-sdk-dynamic.zip --create-dirs --netrc-optional --重试 2 -A 'CocoaPods/1.9.3 cocoapods-downloader/1.4.0'

% Total % Received % Xferd 平均速度 时间 时间 时间 当前 下载上传总花费剩余速度 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 curl: (22) 请求的 URL 返回错误:401 Unauthorized

我在主目录中添加了 .netrc 文件,但仍然面临问题。

Pod 错误1

【问题讨论】:

添加 .netrc 文件内容后,它给了我curl: (22) The requested URL returned error: 403 Forbidden 错误。有什么想法吗? 【参考方案1】:

从 Mapbox 6.x 开始,您必须指明凭据才能检索最新的可用 pod 版本: https://docs.mapbox.com/ios/maps/overview/#configure-credentials

您可以在 pod install / pod update 过程之前添加凭据,然后使用此 macOS 脚本将其删除,例如:

echo "Generate credential for mapbox"
echo "machine api.mapbox.com" > ~/.netrc
echo "login mapbox" >> ~/.netrc
echo "password <INSERT API TOKEN>" >> ~/.netrc

稍后删除此条目:

sed -i '' -e '/^machine api.mapbox.com$/N;N;d;' ~/.netrc

【讨论】:

感谢您的回答。为我工作。 添加 .netrc 文件内容后,它给了我curl: (22) The requested URL returned error: 403 Forbidden 错误。有什么想法吗? 那么您的令牌可能缺少 Downloads:Read 选项。【参考方案2】:

https://docs.mapbox.com/ios/navigation/guides/install/

具有 Downloads:Read 范围的秘密访问令牌。 在您帐户的令牌页面中,单击创建令牌按钮。 在令牌创建页面中,为您的令牌命名,并确保选中 Downloads:Read 范围旁边的框。 单击页面底部的创建令牌按钮以创建您的令牌。 您创建的令牌是秘密令牌,这意味着您只有一次机会将其复制到安全的地方。

【讨论】:

【参考方案3】:

看起来在创建 .netrc 文件时出现了一些问题。您可以使用以下提示在安装 Mapbox 之前创建一个 .netrc 文件:

接下来要创建 .netrc 文件

启动终端

cd ~(进入主目录)

触摸 .netrc(创建文件)

打开.netrc(打开.netrc)

设置所需数据。

保存

.netrc 文件应该是这样的

机器 api.mapbox.com 登录地图框 密码

如果您创建了有关此指令的 .netrc 文件,则应该安装 mapbox cocoapods。

【讨论】:

以上是关于使用 .netrc 文件安装 Mapbox iOS SDK的主要内容,如果未能解决你的问题,请参考以下文章

arm linux下的FTP初始化文件.netrc使用技巧

arm linux下的FTP初始化文件.netrc使用技巧

Mapbox在ios中使用mbtiles时显示异常并终止

在 Mapbox 中,如何从 iOS 上的样式切换图层?

使用的.netrc与SourceForge上和Git

MapBox - 在 iOS 项目中使用比例控制