Ome*_*han 12 cocoa objective-c amazon-s3 amazon-web-services xcode4.2
我需要为MAC OS X开发一个应用程序,它将把所选文件上传到亚马逊网络服务.但为此我需要aws sdk for mac.我没有在网上找到任何东西.是否可以修改适用于iOS的AWS SDK以便它可用于Mac?
此外,AWS SDK文档未说明如何将文件上载到S3.有没有人有如何做到这一点的例子?
谢谢
我已经创建了一个AWS iOS SDK的分支,可以构建并用于Mac OS X开发.看看:https://github.com/amberdixon/aws-sdk-ios.在自述文件中,我已经包含了有关如何构建AWS iOS SDK框架的Mac OS X版本的说明.tomandersen repo似乎使用了更旧版本的iOS SDK,我创建的版本更新一些.
通过判断这个话题的讨论在AWS开发者论坛,似乎没有成为一个正式的AWS SDK适用于MacOS X还,但iOS版本已接近可用.该线程的一个贡献者发布了一个修改后的版本,该版本据称可以在MacOS X上至少用于某些服务.我没有任何个人经验,但似乎值得一看.
在之前的回答之后,我分叉并修改了适用于iOS的AWS SDK的v2.2,现在它为Mac OS X构建(在Yosemite 10.10.3中测试):https ://github.com/johnabender/aws-sdk- ios 还要结账tvos!
它们提供了一个命令行工具,用于将SDK组件打包为.framework对象.运行Scripts/SdkPackage.sh AWSS3,它将构建S3框架和任何依赖项.运行Scripts/Package.sh以构建所有框架./build如果您构建所有框架,那么构建的框架将在您的AWS开发工具包目录的根目录中结束.
但是,他们的文件非常糟糕.例如,如果您想使用访问密钥而不是Cognito身份,则必须完成代码并弄清楚如何(至少可能!).想列出S3存储桶的内容?祝好运.大多数必需的类甚至没有在文档中列出.而且你必须libz.dylib在你的项目中包含它以使用S3 SDK构建它们 - 它们也没有告诉你.
无论如何,这里有一些代码可以帮助任何人开始:
// This is helpful, also basically undocumented.
AWSLogger.defaultLogger().logLevel = .Verbose
let credentials = AWSStaticCredentialsProvider(accessKey: accessKeyId, secretKey: secretAccessKey)
let config = AWSServiceConfiguration(region: AWSRegionType.USWest2, credentialsProvider: credentials)
let listRequest = AWSS3ListObjectsRequest()
listRequest.bucket = "mybucket"
listRequest.prefix = "folder/"
// The key name allows you to set up multiple, global S3 configurations
// -- in case you'd ever want to do that, in violation of OO programming principles.
// But there's no way to make S3 requests using only a local config.
AWSS3.registerS3WithConfiguration(config, forKey: "s3")
AWSS3.S3ForKey("s3").listObjects(listRequest).continueWithBlock { (task: AWSTask!) -> AnyObject! in
if task.error != nil {
NSLog("error %@", task.error)
}
if task.result != nil {
NSLog("finished %@", task.result!.description)
}
return nil
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5875 次 |
| 最近记录: |