Latest 1.0.2
Homepage https://github.com/andresbrun/ABMSoundCloudAPI
License MIT
Platforms ios 7.0, requires ARC
Dependencies AFNetworking, AFOAuth2Manager
Authors

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 :)

Latest podspec

{
    "name": "ABMSoundCloudAPI",
    "version": "1.0.2",
    "summary": "Own library to handle oauth2 authentication and basic operations for SoundCloud API.",
    "description": "Since SoundCloud decided not to maintain any longer its library for iOS I diceded to create my own one. Right now it is supported:n* Authentication usign internal webviewn* Searching for songsn* Download a songn* Get User Playlistsn* Get Playlists given playlist IDn* Get song info given song IDn* Follow user given user ID",
    "homepage": "https://github.com/andresbrun/ABMSoundCloudAPI",
    "screenshots": [
        "https://raw.githubusercontent.com/andresbrun/ABMSoundCloudAPI/master/Example/screenshots/screenshot_1.png",
        "https://raw.githubusercontent.com/andresbrun/ABMSoundCloudAPI/master/Example/screenshots/screenshot_2.png",
        "https://raw.githubusercontent.com/andresbrun/ABMSoundCloudAPI/master/Example/screenshots/screenshot_3.png",
        "https://raw.githubusercontent.com/andresbrun/ABMSoundCloudAPI/master/Example/screenshots/screenshot_4.png"
    ],
    "license": "MIT",
    "authors": {
        "Andres Brun Moreno": "[email protected]"
    },
    "source": {
        "git": "https://github.com/andresbrun/ABMSoundCloudAPI.git",
        "tag": "1.0.2"
    },
    "social_media_url": "https://twitter.com/andrewsBrun",
    "platforms": {
        "ios": "7.0"
    },
    "requires_arc": true,
    "source_files": "Pod/Classes/**/*.{h,m}",
    "resources": "Pod/Classes/Views/*.storyboard",
    "dependencies": {
        "AFNetworking": [
            "~> 3.0"
        ],
        "AFOAuth2Manager": [
            "~> 3.0"
        ]
    }
}

Pin It on Pinterest

Share This