2017-04-20 41 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