2017-04-20 12 views
6

Mam rozwija reagować natywną aplikację za pomocą poniższego modułu:React Native-Spotify SDK iOS: Odrzuć okno auth

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

Obecnie aplikacja otwiera okno uwierzytelniania, aby zalogować się na Spotify. Dostaję zwrot sukcesu, ale jestem zdezorientowany, jak pozbyć się okna, które pojawiło się, aby się zalogować. Rozumiem, że powinien przekierować z powrotem do mojej aplikacji, ale po prostu pozostaje w tym samym oknie z przyciskami wylogowania/mojego konta.

Jakieś pomysły, w jaki sposób odrzuciłbym to okno na wiadomość o powrocie sukcesu?

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

Hi Steve, można udostępnić projekt, muszę się upewnić, jeśli dodałeś już "callback" do twojej listy info.plist ("połączenie musi być dodane również w sieci podczas tworzenia aplikacji"), czy sprawdziłeś to również https://developer.spotify.com/technologies/spotify -ios-sdk/tutorial/# setting-up-your-build-environment? –

Odpowiedz

2

Jeśli spojrzeć na kod, ekran logowania (SpotifyLoginViewController być dokładne), oddala ekran w this line of code. Zgodnie z logiką tutaj, jeśli interfejs redirectURL, który przekazałeś do interfejsu API setClientID, nie jest zgodny z identyfikatorem URI przekierowania, który zdefiniowałeś na swoim koncie programisty Spotify (zobacz ich authorization guide) - ekran nie zostanie odrzucony.

Proponuję umieścić punkt przerwania w tej funkcji przed sprawdzeniem schematu URL i zobacz, co się tam dzieje. Twoje konto nie jest poprawnie skonfigurowane lub do tego interfejsu API wysyłany jest nieprawidłowy adres URL (lub adres URL, który nie ma oczekiwanego formatu w tym pakiecie).

+0

Dodałem swój schemat URL do mojego projektu. Zrobię kilka zrzutów ekranu, na wypadek gdyby nie było tak, jak powinno być. Próbowałem na wiele sposobów. W niektórych przypadkach komunikat "URI invalid" i ten, który pasuje do mojego schematu, po prostu nie zwalnia. –

+0

Nadal uważam, że najlepszym sposobem byłoby debugowanie tego kodu; zobacz, co dostajesz dla 'url.scheme' i co dostajesz w' myScheme', wszystko inne jest tylko spekulacją :) Nigdy nie pracowałem z interfejsem Spotify API lub z tym pakietem, więc nie jestem pewien, czy będę w stanie pomóc poza tym. Musisz wiedzieć, co jest zwracane z Spotify jako 'ur.scheme', aby zrozumieć, co jest nie tak – Artal

+0

Może być głupim pytaniem. Jak zrobić coś typu var_dump/console.log w obiekcie obj-c? –

2

Wygląda na to, że Twój przekierowanie jest skonfigurowany nieprawidłowo.

  1. Upewnij się, że Twój adres URI został wpisany w Pulpicie Spotify My Applications.

  2. upewnić się, że URI jest zgodny z następującymi:

    • Wszystkie postacie w URI powinien być małe.
    • Twój prefiks URI (część przed pierwszym dwukropkiem) musi być unikalny dla twojej aplikacji. Nie może to być ogólny prefiks, taki jak http. Twój prefiks URI może być używany tylko przez aplikację do uwierzytelniania Spotify. Jeśli masz już schemat URL obsługiwany przez twoją aplikację do innych zastosowań, nie powinieneś go używać.
    • To dobra konwencja, aby mieć tam nazwę aplikacji.
    • Należy również mieć składnik ścieżki do URI (część po pierwszym zestawie ukośniki przodu, coś podobnego your-app://callback)