我试了这个没有运气:
NSData *imageData = UIImageJPEGRepresentation([sight.photo valueForKey:@"image"], 0.8);
NSString *docsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *filePath = [docsPath stringByAppendingPathComponent:@"sound.m4a"];
NSURL *fileUrl = [NSURL fileURLWithPath:filePath];
NSData *aacData = [sight.sound valueForKey:@"soundrecord"];
[aacData writeToURL:fileUrl atomically:YES];
// NSString *text = self.textField.text;
NSArray *items = @[imageData, aacData];
Run Code Online (Sandbox Code Playgroud) 我有一个UIActivityViewController在Facebook/Twitter/Email上共享文本和图像,但它只适用于iOS 6+ ..是否可以选择在设备上运行的iOS版本并执行IF语句以避免崩溃iOS 5?如果iOS6,请执行以下代码,否则执行其他操作...?
-(void)shareMenu
{
NSString *textToShare = @"Text that will be shared";
UIImage *imageToShare = [UIImage imageNamed:@"share_picture.png"];
NSArray *itemsToShare = [[NSArray alloc] initWithObjects:textToShare, imageToShare, nil];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:itemsToShare applicationActivities:nil];
activityVC.excludedActivityTypes = [[NSArray alloc] initWithObjects: UIActivityTypePrint, UIActivityTypeCopyToPasteboard, UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll, UIActivityTypeMessage, UIActivityTypePostToWeibo, nil];
[self presentViewController:activityVC animated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud) 我正在使用UIActivityViewController.我可以更改图标出现位置的顺序吗?
因为我找不到办法,所以它们总是以相同的顺序出现(邮件,Facebook,Twitter,......),我必须改变顺序.
谢谢.
我已经与UIActivityViewController集成,用于将图像共享到Facebook:
NSArray* dataToShare = imageArray; //This is my image array
activityViewController =
[[UIActivityViewController alloc] initWithActivityItems:dataToShare
applicationActivities:nil];
[[[self parentViewController] parentViewController] presentViewController:activityViewController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
共享工作正常,但共享多个图像时出现问题.如果有超过5张图像,它只共享前5张图像; 其余的都被忽略了.将图像保存到相机胶卷时会出现同样的问题,但对于邮件编辑器,所有图像都在那里.
我该如何解决这个问题?
所以,在我的应用程序中,我想用它分享一些东西UIActivityViewController.
为确保共享活动成功,我有以下代码:
UIActivityViewController *controller = [[UIActivityViewController alloc]
initWithActivityItems:@[text, shortURL, image]
applicationActivities:nil];
[controller setCompletionWithItemsHandler:^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) {
if (! completed){
// Here I do some stuff irrelevant to the question
}
}];
Run Code Online (Sandbox Code Playgroud)
由于我复制(和修改)了这段代码,我不想声称我完全理解这里发生了什么.
我所知道的,这是我的问题,上面的代码在iOS 8上运行良好,但在iOS 7,硬件或模拟器上运行不正常.
我非常希望有人可以向我解释这里发生了什么.
我使用下面的代码分享位于设备上的视频,它非常适合通过消息,Facebook和iCloud共享,但不适用于邮件,我可以看到邮件选项在那里,但在邮件草稿中,视频不是连接.
在代码中,videoAsset是一种PHAsset类型PHAssetMediaTypeVideo.
[[PHImageManager defaultManager] requestAVAssetForVideo:videoAsset options:nil resultHandler:^(AVAsset *asset, AVAudioMix *audioMix, NSDictionary *info) {
AVURLAsset* urlAsset = (AVURLAsset*)asset;
fileUrl = urlAsset.URL;
NSLog(@"fileUrl is %@",fileUrl);
NSArray *activityItems = [NSArray arrayWithObjects:fileUrl, nil];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
[self presentViewController:activityViewController animated:YES completion:nil];
}];
Run Code Online (Sandbox Code Playgroud)
如果我使用附加视频UIImagePickerController,它有效,我搜索但找不到答案,请帮忙.
从共享图像UIImageView使用UIActivityViewController?
我正在尝试使用共享图像UIActivityViewController,但是我收到错误:
func shareIMG(){
let activityItems = [self.imageView.image]
let avc = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)
self.presentViewController(avc, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
错误信息:
找不到类型"UIActivityViewController"接受类型的参数列表中的初始化"(activityItems:[?UIImage的],applicationActivities:无)"
有任何想法吗?
我已经看到了gmail共享扩展的一些奇怪的东西,如正文和主题字段是空的,如果你想共享包含&字符的内容.
它可以让它与转义&字符一起使用&,但是这样消息中的正文是重复的(一旦原始,一旦转义.
你们知道这个问题的解决方法吗?
提前致谢!
使用UIActivityViewController将.vcf共享给WhatsApp失败,显示插件net.whatsapp.WhatsApp.ShareExtension失效错误
共享图像或文本正在使用UIActivityViewController工作,但共享.vcf不适用于whatsapp(适用于邮件/消息/信使等).
NSData *pVcfData = [CNContactVCardSerialization dataWithContacts:[NSArray arrayWithObject:pContact] error:&pError]; // creating contact data from CNContactVCardSerialization
NSURL *pFileURL = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:pFileNameWithAllowedCharacters]]; // wrote the data to file
NSError *pWriteError = nil;
if ([pVcfData writeToURL:pFileURL options:NSDataWritingAtomic error:&pWriteError])
{
NSArray *pActivityItems = @[pFileURL]; // passed the file URL as ActivityItem for UIActivityViewController
UIActivityViewController *pActivityVC = [[UIActivityViewController alloc] initWithActivityItems:pActivityItems applicationActivities:nil];
[pActivityVC setValue:pContactName forKey:@"subject"];
[self presentViewController:pActivityVC animated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)
除了.vcf之外,还有其他方法可以与whatsapp共享联系吗?请分享任何建议.
我需要在照片库中保存多个图像,用户可以从应用程序库中多次选择图像,然后将它们保存在iPhone照片库中.我正在展示UIActivityViewController这个目的.
假设用户选择10个或更多图像并选择将它们保存到照片库中,则仅保存7-8个图像.
有什么办法可以在没有任何故障的情况下保存照片库中的图像数组吗?
谢谢
let images = Generic.fetchImagesFromMediaFiles(self.selectedMediaObj) // to fetch selected images
let activityViewController = UIActivityViewController(activityItems: images, applicationActivities: nil)
self.present(activityViewController, animated: true, completion: nil);
if let popoverPresentationController = activityViewController.popoverPresentationController {
popoverPresentationController.sourceView = self.shareAllView
}
Run Code Online (Sandbox Code Playgroud)