是的,你可以。
首先,您需要按照他们在here 找到的说明设置您的 xcode 项目。然后,您需要创建一个在Swift docs 中定义的桥接头文件。
例子
#ifndef Fun_Bridging_Header_h
#define Fun_Bridging_Header_h
#import "Cloudinary.h"
#endif
不幸的是,他们的 Objective-c API 不能与 Swift 完全互操作,即他们的上传 API (CLUploader)。
我必须做的是在objective-c中为它创建一个工厂类
接口(CloudinaryFactory.h)
#ifndef Fun_Wrappy_h
#define Fun_Wrappy_h
#import "Cloudinary.h"
@interface CloudinaryFactory : NSObject
+ (CLUploader*)create:(CLCloudinary*)cloudinary delegate:(id <CLUploaderDelegate> )delegate;
@end
#endif
实现(CloudinaryFactory.m):
#import "CloudinaryFactory.h"
@implementation CloudinaryFactory
+ (CLUploader*)create:(CLCloudinary*)cloudinary delegate:(id <CLUploaderDelegate> )delegate
{
return [[CLUploader alloc] init:cloudinary delegate:delegate];
}
@end
以及更新的桥接文件
#ifndef Fun_Bridging_Header_h
#define Fun_Bridging_Header_h
#import "CloudinaryFactory.h"
#endif
现在,使用它:
var image:UIImage? //todo: i'm assuming you would set this somewhere
@IBAction func uploadGarment(sender: AnyObject) {
let clouder = CLCloudinary(url: "cloudinary://your:cloudinary@url")
let forUpload = UIImagePNGRepresentation(image) as NSData
let uploader = CloudinaryFactory.create(clouder, delegate: self)
uploader.upload(forUpload, options: ["public_id":"testo"])
}
希望对你有帮助!更多,这里是相关的blog post