Introduction à Soundcloud

Soundcloud est une des plus grosses plateformes de musique indépendante, c’est plus de 200 millions d’utilisateurs pour ce réseau sociale basé sur le partage musicale. Certains artistes ne publient leurs musiques que sur cette plateforme. C’est aussi la place pour des novices qui veulent essayer leurs titres et se faire connaitre. Vous pouvez aussi  y retrouver des discours, des podcasts et tout autres types de contenu audio.

Dans cette optique de toujours avoir de la bonne musique, Soundcloud est disponible sur toutes les plateformes (web et mobile) et l’écoute est gratuite. Pour une utilisation encore plus variée de leur service, SoundCloud propose une API ainsi que de nombreux SDK (Javascript, Ruby, Python, PHP, Cocoa et Java). Nous allons voir ensemble comment intégrer SoundCloud dans une application mobile iPhone.

L’utilisation du SDK étant gratuit, il faut cependant enregistrer votre application sur SoundCloud afin d’obtenir une clé d’utilisation pour votre développement. Vous pouvez la créer en suivant le lien vers vos applications.

Une fois chose faite, créez une application iOS comme vous avez l’habitude via Xcode. La création d’un répertoire Git est conseillé pour l’ajout des différentes dépendances.[

]1

Le SDK SoundCloud a de nombreuses dépendances, celles-ci comprennent la gestion des requêtes à leur service web (API) ainsi que l’interface de connexion pour l’authentification. Pour récupérer l’outil complet, vous pouvez exécuter directement ces commandes en console dans votre projet.

Le premier équivaut au SDK, le reste étant les dépendances.

Une fois chose faite, il va falloir importer ces différentes ressources dans votre projet. Répétez l’action pour chaque librairie téléchargée précédemment.

[Soundcloud est une des plus grosses plateformes de musique indépendante, c’est plus de 200 millions d’utilisateurs pour ce réseau sociale basé sur le partage musicale. Certains artistes ne publient leurs musiques que sur cette plateforme. C’est aussi la place pour des novices qui veulent essayer leurs titres et se faire connaitre. Vous pouvez aussi  y retrouver des discours, des podcasts et tout autres types de contenu audio.

Dans cette optique de toujours avoir de la bonne musique, Soundcloud est disponible sur toutes les plateformes (web et mobile) et l’écoute est gratuite. Pour une utilisation encore plus variée de leur service, SoundCloud propose une API ainsi que de nombreux SDK (Javascript, Ruby, Python, PHP, Cocoa et Java). Nous allons voir ensemble comment intégrer SoundCloud dans une application mobile iPhone.

L’utilisation du SDK étant gratuit, il faut cependant enregistrer votre application sur SoundCloud afin d’obtenir une clé d’utilisation pour votre développement. Vous pouvez la créer en suivant le lien vers vos applications.

Une fois chose faite, créez une application iOS comme vous avez l’habitude via Xcode. La création d’un répertoire Git est conseillé pour l’ajout des différentes dépendances.[

]1

Le SDK SoundCloud a de nombreuses dépendances, celles-ci comprennent la gestion des requêtes à leur service web (API) ainsi que l’interface de connexion pour l’authentification. Pour récupérer l’outil complet, vous pouvez exécuter directement ces commandes en console dans votre projet.

Le premier équivaut au SDK, le reste étant les dépendances.

Une fois chose faite, il va falloir importer ces différentes ressources dans votre projet. Répétez l’action pour chaque librairie téléchargée précédemment.

]2

Configuration

Maintenant que nous avons importés nos ressources, nous allons ajouter ces dépendances dans la configuration de notre projet. Pour cela, il faut aller dans l’onglet “Build Phases” de votre target afin d’ajouter les différentes dépendances:

[Soundcloud est une des plus grosses plateformes de musique indépendante, c’est plus de 200 millions d’utilisateurs pour ce réseau sociale basé sur le partage musicale. Certains artistes ne publient leurs musiques que sur cette plateforme. C’est aussi la place pour des novices qui veulent essayer leurs titres et se faire connaitre. Vous pouvez aussi  y retrouver des discours, des podcasts et tout autres types de contenu audio.

Dans cette optique de toujours avoir de la bonne musique, Soundcloud est disponible sur toutes les plateformes (web et mobile) et l’écoute est gratuite. Pour une utilisation encore plus variée de leur service, SoundCloud propose une API ainsi que de nombreux SDK (Javascript, Ruby, Python, PHP, Cocoa et Java). Nous allons voir ensemble comment intégrer SoundCloud dans une application mobile iPhone.

L’utilisation du SDK étant gratuit, il faut cependant enregistrer votre application sur SoundCloud afin d’obtenir une clé d’utilisation pour votre développement. Vous pouvez la créer en suivant le lien vers vos applications.

Une fois chose faite, créez une application iOS comme vous avez l’habitude via Xcode. La création d’un répertoire Git est conseillé pour l’ajout des différentes dépendances.[

]1

Le SDK SoundCloud a de nombreuses dépendances, celles-ci comprennent la gestion des requêtes à leur service web (API) ainsi que l’interface de connexion pour l’authentification. Pour récupérer l’outil complet, vous pouvez exécuter directement ces commandes en console dans votre projet.

Le premier équivaut au SDK, le reste étant les dépendances.

Une fois chose faite, il va falloir importer ces différentes ressources dans votre projet. Répétez l’action pour chaque librairie téléchargée précédemment.

[Soundcloud est une des plus grosses plateformes de musique indépendante, c’est plus de 200 millions d’utilisateurs pour ce réseau sociale basé sur le partage musicale. Certains artistes ne publient leurs musiques que sur cette plateforme. C’est aussi la place pour des novices qui veulent essayer leurs titres et se faire connaitre. Vous pouvez aussi  y retrouver des discours, des podcasts et tout autres types de contenu audio.

Dans cette optique de toujours avoir de la bonne musique, Soundcloud est disponible sur toutes les plateformes (web et mobile) et l’écoute est gratuite. Pour une utilisation encore plus variée de leur service, SoundCloud propose une API ainsi que de nombreux SDK (Javascript, Ruby, Python, PHP, Cocoa et Java). Nous allons voir ensemble comment intégrer SoundCloud dans une application mobile iPhone.

L’utilisation du SDK étant gratuit, il faut cependant enregistrer votre application sur SoundCloud afin d’obtenir une clé d’utilisation pour votre développement. Vous pouvez la créer en suivant le lien vers vos applications.

Une fois chose faite, créez une application iOS comme vous avez l’habitude via Xcode. La création d’un répertoire Git est conseillé pour l’ajout des différentes dépendances.[

]1

Le SDK SoundCloud a de nombreuses dépendances, celles-ci comprennent la gestion des requêtes à leur service web (API) ainsi que l’interface de connexion pour l’authentification. Pour récupérer l’outil complet, vous pouvez exécuter directement ces commandes en console dans votre projet.

Le premier équivaut au SDK, le reste étant les dépendances.

Une fois chose faite, il va falloir importer ces différentes ressources dans votre projet. Répétez l’action pour chaque librairie téléchargée précédemment.

]2

Configuration

Maintenant que nous avons importés nos ressources, nous allons ajouter ces dépendances dans la configuration de notre projet. Pour cela, il faut aller dans l’onglet “Build Phases” de votre target afin d’ajouter les différentes dépendances:

]4 Vous devez vous retrouver avec la liste suivante

Continuons avec les liens vers les librairies, elles sont nombreuses, donc attention à ne pas en oublier:

  • libJSONKit.a
  • libOAuth2Client.a
  • libOHAttributedLabel.a
  • libSoundCloudAPI.a
  • libSoundCloudUI.a
  • AddressBook.framework
  • AddressBookUI.framework
  • CoreGraphics.framework
  • CoreLocation.framework
  • CoreText.framework
  • QuartzCore.framework
  • Security.framework

Voici votre liste de librairies finale

On va indiquer à notre projet de charger toutes les dépendances à la compilation avec les flags suivant ‘-all_load -ObjC’

On continue en indiquant à notre projet où rechercher les fichiers headers de nos dépendances. Pour ça, ajoutez la ligne “$PROJECT_DIR” dans “Header Search Paths” dans l’onglet ‘Build Settings’.

Enfin, il ne manque que les ressources images à ajouter. Dans votre dossier SoundCloudUI, faite un “drag & drop” du fichier “SoundCloud.bundle” en indiquant bien une copie dans votre projet.

Finissez par compiler votre projet pour vérifier que tout est bien intégré. On va pouvoir passer au code.

Après tout ce qu’on a fait pour l’installation, le code va vraiment vous sembler facile. Il va falloir définir votre session d’utilisation avec les informations de SoundCloud, nous allons utiliser les clés générées sur le portail de développement.

Soyez sure de faire les bons imports des différents “headers” de vos librairies. C’est ce même code que vous pouvez utiliser pour reconnecter votre utilisateur au prochain lancement de l’application: la gestion des “credentials” est déjà implémentée.

Pour faire une demande de connexion, je vous propose le code suivant:

Une fois que votre utilisateur est connecté, voici un code simple pour récupérer les dernières chansons mise en ligne pour un artiste donnée, pour moi ce sera Mac Miller:

Enfin, pour lire une musique, il faut récupérer le lien dans la partie du JSON retourné:

Le SDK iOS de SoundCloud peut sembler laborieux à mettre en place mais une fois installé, son utilisation est facile et son code est simple à maintenir.

Cette ouverture pour les développeurs sur cette plateforme de musique indépendante permet d’imaginer toujours plus de façon de découvrir de la musique ainsi que de le partager. Il existe encore bon nombre d’utilisations, facilitant l’upload de musique sur SoundCloud ou de permettre une écoute hors ligne, ou encore de mixer des musiques en fonction de style musicale écouté et d’artistes suivis.

Il vous reste toujours plus de possibilités de développer l’application de demain.

© 2022 Benoit Pasquier. All Rights Reserved
Author's picture

Benoit Pasquier

iOS Software engineer 🇫🇷, writing about Swift, iOS and more.

ShopBack 💰

Singapore 🇸🇬