作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码可以将照片发布到 instagram:
NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES);
NSString* homePath = [paths objectAtIndex:0];
NSString* basePath = @"integration/instagram";
NSString* tmpFileName = @"jumpto.ig";
NSString* dirPath = [NSString stringWithFormat:@"%@/%@", homePath, basePath];
NSString* docPath = [NSString stringWithFormat:@"%@/%@", dirPath, tmpFileName];
//clear it out and make it fresh
[[NSFileManager defaultManager] removeItemAtPath:docPath error:nil];
if ([[NSFileManager defaultManager] createDirectoryAtPath:dirPath withIntermediateDirectories:YES attributes:nil error:nil]) {
NSData* imgData = [self generateImageData:img];
[[NSFileManager defaultManager] createFileAtPath:docPath contents:imgData attributes:nil];
NSURL* url = [NSURL fileURLWithPath:docPath isDirectory:NO ];
NSURL *instagramURL = [NSURL URLWithString:@"instagram://camera"];
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
//imageToUpload is a file path with .ig file extension
self.documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:url];
self.documentInteractionController.UTI = @"com.instagram.exclusivegram";
self.documentInteractionController.delegate = self;
self.documentInteractionController.annotation = [NSDictionary dictionaryWithObject:@"Caption Test" forKey:@"InstagramCaption"];
[self.documentInteractionController presentOptionsMenuFromBarButtonItem:self.navigationItem.rightBarButtonItem animated:YES];
}
}
问题是,当我打开弹出窗口时,我看到其他服务,例如 facebook/twitter/mail/print/assign to contact/copy/等。如何使我只有一个选项,即在 Instagram 中打开?
最佳答案
Instagram 会监听 .jpg/.ig 文件以及名为 .igo
的特殊扩展名(仅限 Instagram)。通过将文件名更改为 .igo,只有 instagram 应该显示在列表中:
NSString* tmpFileName = @"jumpto.igo";
编辑:我认为您编写文件的方式存在逻辑问题。而不是使用 NSFileManager 在这一行写出内容:
[[NSFileManager defaultManager] createFileAtPath:docPath contents:imgData attributes:nil];
尝试使用 NSData 对象本身将其写入到位:
[imgData writeToFile:docPath atomically:NO];
我不确定这会产生不同的文件,但我想知道 NSFileManager
创建包含数据的文件的方式是否与 NSData
写入数据的方式不同直接数据。
关于iphone - 禁用 UIDocumentController 中的某些服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14800255/
我有以下代码可以将照片发布到 instagram: NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory,
我是一名优秀的程序员,十分优秀!