All Projects → uploadcare → uploadcare-ios

uploadcare / uploadcare-ios

Licence: MIT license
UploadcareKit: iOS SDK for Uploadcare API

Programming Languages

objective c
16641 projects - #2 most used programming language
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to uploadcare-ios

auto-cloudinary
Super simple Cloudinary auto-upload implementation for WordPress.
Stars: ✭ 34 (+41.67%)
Mutual labels:  cdn, image-manipulation, image-optimization
Efo
EFO是一个基于SpringBoot和Vue构建的文件分享系统,包括文件的上传与下载,文件的权限管理,远程文件管理等功能。
Stars: ✭ 327 (+1262.5%)
Mutual labels:  file-upload, file-manager
files
Laravel Enso file management add-on for smoothing out some of common cases found when working with files
Stars: ✭ 15 (-37.5%)
Mutual labels:  file-upload, file-manager
Angular Filemanager
JavaScript File Manager Material Design Folder Explorer Navigator Browser Manager in AngularJS with CSS3 Responsive (with FTP in PHP / Java / Node)
Stars: ✭ 1,693 (+6954.17%)
Mutual labels:  file-upload, file-manager
Workflow
审批王,华炎魔方内置BPM工作流引擎,低代码快速开发平台。
Stars: ✭ 111 (+362.5%)
Mutual labels:  paas, saas
Cloudsim Plus
☕️🏗⛅️🎓 A modern, full-featured, easier-to-use, highly extensible, faster and more accurate Java 8+ Framework for Cloud Computing Simulation
Stars: ✭ 178 (+641.67%)
Mutual labels:  paas, saas
Filemanagerbundle
FileManager is a simple Multilingual File Manager Bundle for Symfony
Stars: ✭ 105 (+337.5%)
Mutual labels:  file-upload, file-manager
Steedos Platform
华炎魔方低代码/无代码平台。内核采用了元数据、微服务、微前端、K8S等最新的技术架构。Steedos Low-Code / No-Code Platform in nodejs and mongodb.
Stars: ✭ 310 (+1191.67%)
Mutual labels:  paas, saas
Cloudinary npm
Cloudinary NPM for node.js integration
Stars: ✭ 450 (+1775%)
Mutual labels:  cdn, image-manipulation
Image Resizer
On-the-fly image resizing using Node.js and libvips. Heroku Ready!
Stars: ✭ 59 (+145.83%)
Mutual labels:  cdn, image-optimization
Catapult
💥 Catapult is a DevOps website management platform for development teams.
Stars: ✭ 64 (+166.67%)
Mutual labels:  paas, saas
imagekit-php
PHP SDK for ImageKit.io API.
Stars: ✭ 34 (+41.67%)
Mutual labels:  image-manipulation, image-optimization
Stack On A Budget
A collection of services with great free tiers for developers on a budget. Sponsored by Mockoon, the best mock API tool. https://mockoon.com
Stars: ✭ 10,836 (+45050%)
Mutual labels:  paas, saas
Rainbond
Cloud-native and easy-to-use application management platform | 云原生且易用的应用管理平台
Stars: ✭ 2,871 (+11862.5%)
Mutual labels:  paas, saas
Bk Paas
蓝鲸智云PaaS平台(BlueKing PaaS)
Stars: ✭ 526 (+2091.67%)
Mutual labels:  paas, saas
Filestash
🦄 A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze, ...
Stars: ✭ 5,231 (+21695.83%)
Mutual labels:  file-upload, file-manager
Imgp
📸 High-performance cli batch image resizer and rotator
Stars: ✭ 744 (+3000%)
Mutual labels:  image-manipulation, image-optimization
boubei-tss
卜贝它山石数据综合管理平台:人、流程、数据三位一体,PAAS兼BI,一站式助力实现数字化管理
Stars: ✭ 22 (-8.33%)
Mutual labels:  paas, saas
Tinyfilemanager
The best web based PHP File Manager in single file, Manage your files efficiently and easily with tinyfilemanager
Stars: ✭ 2,679 (+11062.5%)
Mutual labels:  file-upload, file-manager
Cdn
CDN is a Just-in-time asset manipulation and delivery application, providing a complete content distribution/delivery solution
Stars: ✭ 192 (+700%)
Mutual labels:  cdn, image-manipulation

Uploadcare for iOS

Depricated. Check out our brand new Swift library.

Build Status Pod Version Pod Platform Pod License

Uploadcare is a PaaS providing file handling mechanisms for websites and apps. This also includes on-the-fly image processing with Uploadcare CDN API.

Uploadcare for iOS is an open source Objective-C component that powers your iOS apps with Uploadcare features. It's made up of the two key parts: UploadcareKit and Uploadcare Widget.

UploadcareKit is a core-level abstract layer responsible for API communications within upload and download tasks.

Uploadcare Widget is a modern and cloud-aware file picker for iOS. Well, it could be if iOS had a notion of files. Since it doesn't, you can think of Uploadcare Widget as a stuff picker — a drop-in component that allows your users to pick and upload their digital stuff (photos, docs, and whatnot) to your website or app.

Here's what it looks like,

Uploadcare for iOS menu Facebook albums Instagram gallery

Quickstart

Install

Uploadcare for iOS uses CocoaPods, a library dependency management tool for Objective-C projects. Implementing Uploadcare into your project is as simple as adding the following line to your Podfile,

pod 'Uploadcare'

Then, run pod install in your project directory.

Make sure to use the .xcworkspace file from now on.

Setup

Environment

Import Uploadcare.h header to your implementation. Grab your Uploadcare API keys and use a public key as follows in your application delegate,

#import <Uploadcare/Uploadcare.h>

/* ... */

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [[UCClient defaultClient] setPublicKey:<#your key#>];
    return YES;
}

iCloud entitlements

Uploadcare Widget uses UIDocumentMenuViewController, so you need to enable iCloud in your application. Go to Target -> Capabilities and enable iCloud. Enable both Key-value storage and iCloud Documents options, iCloud settings

Custom URL scheme

Uploadcare Widget uses SFSafariViewController on iOS 9+ and UIWebView on prior versions for authentification. This allows it to handle URL callbacks through a custom URL scheme from application delegate methods,

// IOS 9+
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
    return [[UCClient defaultClient] handleURL:url];
}

// IOS 8
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    return [[UCClient defaultClient] handleURL:url];
}

Adding a custom URL scheme requires taking the following steps:

  • Go to Target -> Info -> URL types.
  • Add a new URL scheme formatted like this, uc-<public key>.
  • The final result should look similar to this,

Custom url scheme

NSPhotoLibraryUsageDescription on iOS 10

Uploadcare Widget uses UIImagePickerController to upload files from Camera Roll. Don't forget to add NSPhotoLibraryUsageDescription key to your project Info.plist file to prevent an app from crashing in runtime.

Show

Init and present widget

Displaying Uploadcare Widget is done via creating and initializing an instance of UCMenuViewController by invoking the initWithProgress:completion: method,

#import <Uploadcare/Uploadcare.h>

/* ... */

UCMenuViewController *menu = [[UCMenuViewController alloc] initWithProgress:^(NSUInteger bytesSent, NSUInteger bytesExpectedToSend) {
    // handle progress here
} completion:^(NSString *fileId, id response, NSError *error) {
    if (!error) {
        // handle success
    } else {
        // handle error
    }
}];

Then, present it with the presentFrom: method,

[menu presentFrom:self];

Customization

You can easily customize the appearance of a social sources list by implementing your own menu. In order to receive available social sources, you can use the fetchSocialSourcesWithCompletion: method from UCSocialManager. Upon receiving a list of social sources, you can choose one and use it for instantiating UCGalleryVC via the following method,

- (id)initWithSource:(UCSocialSource *)source
           rootChunk:(UCSocialChunk *)rootChunk
            progress:(UCProgressBlock)progress
          completion:(UCWidgetCompletionBlock)completion;

Core level features only

In order to integrate core level features only such as local and remote file upload operations, you can use the following subspec:

pod 'Uploadcare/Core'

Please note, Uploadcare.h header won't be included in this case, and you'll have to use UploadcareKit.h instead.

Sample App

Here's the Example Project.

Contact

If you got any questions, bug reports or suggestions — drop us a line.

Contributors

Security issues

If you think you ran into something in Uploadcare libraries which might have security implications, please hit us up at [email protected] or Hackerone.

We'll contact you personally in a short time to fix an issue through co-op and prior to any public disclosure.

License

Uploadcare iOS is licensed under the MIT license (see LICENSE).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].