Latest | 1.0.2 |
---|---|
Homepage | https://github.com/andresbrun/ABMSoundCloudAPI |
License | MIT |
Platforms | ios 7.0, requires ARC |
Dependencies | AFNetworking, AFOAuth2Manager |
Authors |
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
- Fork it (https://github.com/andresbrun/ABMSoundCloudAPI/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - 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" ] } }
Thu, 13 Oct 2016 09:01:04 +0000