首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Kotlin/本地多平台构建Mapbox

用Kotlin/本地多平台构建Mapbox
EN

Stack Overflow用户
提问于 2020-07-28 02:20:08
回答 2查看 460关注 0票数 0

我正在尝试将Mapbox添加到Kotlin/本地项目中,在该项目中我使用cocoapods:(已经为Android设置了-运行良好)

代码语言:javascript
复制
    //plugin 
    kotlin("native.cocoapods")
    
    //pod
    cocoapods {
        // Configure fields required by CocoaPods.
        summary = "Some description for a Kotlin/Native module"
        homepage = "Link to a Kotlin/Native module homepage"

        pod("Mapbox-iOS-SDK", "~> 6.0.0")
    }

运行在Kotlin/中的Pod不使用凭据读取文件:

代码语言:javascript
复制
machine api.mapbox.com 
login name
password pass

在pod文件中,我添加了我的库:

代码语言:javascript
复制
pod 'SharedCode', :path => 'kotlin_native/SharedCode'

运行pod install时所看到的错误

代码语言:javascript
复制
[!] Error installing Mapbox-iOS-SDK
[!] /usr/bin/curl -f -L -o /var/folders/vk/rb1bs6ld7wd19cmg6srw9s080000gn/T/d20200728-92875-1y3089q/file.zip https://api.mapbox.com/downloads/v2/mobile-maps/releases/ios/packages/6.0.0/mapbox-ios-sdk-dynamic.zip --create-dirs --netrc-optional --retry 2

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 401 Unauthorized

如果我直接将pod添加到iOS项目中,它可以正常工作:

代码语言:javascript
复制
#pod 'Mapbox-iOS-SDK', '~> 5.0.0'

如何使它读取凭据文件?有可能吗?

另外,我尝试使用podspec并将access_token放在URL中,但是它不能工作(无论是否有令牌),不确定它是不受支持的还是语法错误的?

代码语言:javascript
复制
ArgumentError - Illformed requirement `":podspec => https://github.com/mapbox/pod-specs/blob/master/Mapbox-iOS-SDK/5.2.0/Mapbox-iOS-SDK.podspec"`
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-28 16:04:14

目前不支持此功能。Kotlin版本1.4-RC应该引入一个可能的解决方案。您可以尝试手动调用curl,然后导入本地CocoaPods依赖项,就像在示例中那样。

我还建议您在这里提交一个问题(https://kotl.in/issue)。支持凭证很重要,应该被列入科特林团队的名单。

票数 0
EN

Stack Overflow用户

发布于 2020-10-09 08:45:39

登录必须是" mapbox“:mapbox文档:https://docs.mapbox.com/ios/maps/overview/#configure-credentials

代码语言:javascript
复制
machine api.mapbox.com
login mapbox
password <INSERT API TOKEN>

额外提示:您可以在pod安装/ pod更新过程之前添加凭据,并在使用此macos脚本之后删除它,例如:

代码语言:javascript
复制
echo "Generate credential for mapbox"
echo "machine api.mapbox.com" > ~/.netrc
echo "login mapbox" >> ~/.netrc
echo "password <INSERT API TOKEN>" >> ~/.netrc

若要稍后删除此条目,请执行以下操作:

代码语言:javascript
复制
sed -i '' -e '/^machine api.mapbox.com$/{N;N;d;}' ~/.netrc
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63126103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档