Skip to content

Own library to handle oauth2 authentication and basic operations for SoundCloud API.

License

Notifications You must be signed in to change notification settings

andresbrun/ABMSoundCloudAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

alt tag

Build Status Version License Platform

Motivation

Since SoundCloud decided not to maintain anymore its API iOS library I decided to create my own one. Right now just support some of the API's endpoints such as:

  • Authentication usign internal webview.
  • Searching for songs given a query string.
  • Download a song given the stream URL.
  • Get User Playlists.
  • Get Playlists given playlist ID.
  • Get song info given song ID.
  • Follow user given user ID.
  • Upload an audio file.

Usage

  • To run the example project, clone the repo, and run pod install from the Example directory first.
  • How to upload audio file to soundcloud (this is basic example with basic meta information)

In Objective-C

    NSDictionary *params = @{
                             @"track[title]": @"title",
                             @"track[permalink]": @"permalink", //must be lowercase
                             @"track[tag_list]": @"tag", //must be lowercaset
                             @"triack[sharing]": @"public",
                             @"track[downloadable]": @YES
                             };
    
    
    [[ABMSoundCloudAPISingleton sharedManager].soundCloudPort uploadAudioFile:fileData mimeType:@"audio/mp4" meta:params withSuccess:^(NSDictionary *songDict) {
    
        NSLog(@"success");
    
    } failure:^(NSError *error) {
    
        NSLog(@"error");
        
    }];

In Swift 3.0

    let params = ["track[title]": "title", "track[permalink]": "permalink"...]

    ABMSoundCloudAPISingleton.sharedManager.uploadAudioFile(fileData, mimeType: "audio/mp4", meta: params, withSuccess: { (songDict) in
        print("Success")
    }, progress: { (progress) in
        print("Progress \(progress.fractionCompleted)")
    }) { (error) in
        print("Error")
    }

Dependencies

  • AFNetworking, '~> 3.0'
  • AFOAuth2Manager, '~> 3.0'

Requirements

This library needs to connect succesfully with SoundCloud API an account from where get:

  • Client_id
  • Secret_key
  • Redirect_url

Installation

ABMSoundCloudAPI is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "ABMSoundCloudAPI"

Author

Andres Brun Moreno, [email protected]

License

ABMSoundCloudAPI is available under the MIT license. See the LICENSE file for more info.

Contributing

  1. Fork it (https://github.com/andresbrun/ABMSoundCloudAPI/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

And I will review it as soon as I can :)

About

Own library to handle oauth2 authentication and basic operations for SoundCloud API.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •