2017-04-20 61 views
6

我一直在使用下面的模块开发一个反应本地应用程序:阵营本地Spotify的iOS版SDK:辞退权威性窗口

https://github.com/viestat/react-native-spotify

目前,该应用程序打开验证窗口登录到Spotify的。我确实得到了成功的回报,但我很困惑,我现在摆脱了弹出窗口来登录。我知道它应该重定向回我的应用程序,但它只是停留在与注销/我的帐户按钮相同的窗口。

任何想法如何我会退出此窗口上返回的成功消息?

SpotifyAuth.setClientID('*****','*****', ['streaming', 'playlist-read-private'], (error)=>{ 
      if(error){ 
      console.log(error); 
      } else { 
      console.log('success'); 
      } 
     }); 

Here are my settings in xcode...

My redirect URI in Spotify app

+0

喜史蒂夫,你可以共享项目,我需要确保如果你已经在你的info.plist中添加了'callback'('也需要在创建应用程序时在网页上添加该调用),你是否也检查过这个https://developer.spotify.com/technologies/spotify -ios-SDK /教程/#的建立,你的建造环境? –

回答

2

如果你看看代码,登录界面(SpotifyLoginViewController是精确的),驳回屏幕在this line of code。根据此处的逻辑,如果您传递给setClientID API的redirectURL与您在Spotify开发人员帐户中定义的重定向URI不匹配(请参阅他们的authorization guide) - 屏幕将不会被解除。

我建议你在检查url方案之前先在这个函数中加入一个断点,看看那里发生了什么。您的帐户配置不正确,或者错误的URL(或未包含此包的预期格式的URL)发送到此API。

+0

我已将我的URL方案添加到我的项目中。我会抓取一些屏幕截图,以防它不是应有的。我确实尝试了多种方法。在一些情况下,它说“URI无效”,并且在与我的方案相匹配的情况下,它只是不排除。 –

+0

我仍然认为最好的方法是调试此代码;看看你为'url.scheme'得到了什么,以及你在'myScheme'中得到了什么,其他一切只是猜测:)我从来没有与Spotify API或这个软件包合作,所以我不知道我会不会能够帮助超越..你需要知道从Spotify返回什么作为'ur.scheme'来理解错误 – Artal

+0

可能是一个愚蠢的问题。我将如何在obj-c中执行var_dump/console.log类型的事情? –

2

看来您的重定向网址配置不正确。

  1. 确保您的URI已输入到Spotify My Applications Dashboard中。

  2. 确保您的URI符合如下:

    • URI中的所有字符应该是小写。
    • 您的URI的前缀(第一个冒号前的部分)对于您的应用程序必须是唯一的。它不能像一般的前缀一样。 您的URI的前缀只能由您的应用程序用于验证Spotify。如果您的应用程序已处理其他用途的URL方案,则不应将其回收。
    • 这是一个很好的约定,在那里有你的应用程序的名称。
    • 你也应该有一个路径组件,将您的URI(第一套斜杠之后的部分,像your-app://callback