2017-03-06 3 views
0

J'essaie de comprendre comment SoundHound a fait cela. Lorsque j'installe l'application, l'application ne m'avise pas que SoundCloud veut récupérer ma bibliothèque Apple Music. Dès que je vais dans Paramètres> Bibliothèque, cette notification est présentée.Comment contrôler l'heure de demander la permission Apple Music?

SoundHound

Cependant, lorsque je tente de mettre en œuvre dans mon application, la fenêtre montre lorsque vous lancez l'application pour la première fois. Je veux attendre ce popup un peu plus tard car le processus d'enregistrement permettra à l'utilisateur de choisir entre certains fournisseurs de musique.

Comment puis-je contrôler l'heure exacte? J'ai inclus les noeuds Info.plist obligatoires:

<key>NSAppleMusicUsageDescription</key> 
<string>$(PRODUCT_NAME)</string> 
+0

Où faites-vous la demande d'inscription? Seulement faire la demande dans le viewController que vous voulez qu'il soit présenté. – MwcsMac

+0

Merci, j'ai supprimé toute référence à la classe que l'importation StoreKit, dès que celui-ci est chargé, le message apparaît. Comme George Green l'a déclaré, j'avais besoin de vérifier toutes les références afin d'avoir le contrôle du message contextuel. – MennoLaan

Répondre

0

MPMediaLibrary a une fonction d'autorisation de l'utilisateur demande

class func requestAuthorization((MPMediaLibraryAuthorizationStatus) -> Void) 

Vérifiez où dans votre code ceci est appelé, et assurez-vous d'appeler uniquement là où tu veux. Il est probable que cela soit appelé au lancement de l'application pour s'assurer qu'il est disponible pour le reste de l'application. Vous voudrez probablement aussi utiliser le

class func authorizationStatus() 

appel pour vérifier si vous avez l'autorisation dans certaines parties de vous l'application afin que vous puissiez passer sur le contenu de la musique pour un écran zéro si vous ne l'avez pas encore reçu/demandé la permission.