使用 .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的主要内容,如果未能解决你的问题,请参考以下文章