gpt4 book ai didi

iphone - 禁用 UIDocumentController 中的某些服务

转载 作者:行者123 更新时间:2023-11-28 22:40:01 25 4
gpt4 key购买 nike

我有以下代码可以将照片发布到 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";

来源:Instagram iPhone Hooks

编辑:我认为您编写文件的方式存在逻辑问题。而不是使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com