我正在尝试从应用程序共享一些文本.如果用户安装了ios 6,我将调用UIActivityViewController进行共享.但是,如果用户有ios 5,那么我可以调用任何类似的按钮来分享邮件和推特......?
是否有我在创建 Apple 的 12 天应用程序中看到的“复制链接”按钮时缺少的服务或参数?
我可以通过允许出现“复制”按钮
UIActivityTypeCopyToPasteboard
Run Code Online (Sandbox Code Playgroud)
在我的 UIActivityViewController 中,并传递一个 URL
NSURL *activityURL = [NSURL URLWithString:@"http://www.mylink.com/"];
Run Code Online (Sandbox Code Playgroud)
功能正常,但按钮标题是“复制”,不如“复制链接”清晰。我想知道强制此标题是否是我错过的服务选项,或者需要定义自定义活动类型。据我所知,activityTitle 仅在您对服务方法进行子类化时才可用。
感谢您的任何见解。

我在活动项中有文本,但现在它在 WhatsApp 或 Facebook 上共享,此方法为每个应用程序共享相同的文本。是否可以为每个应用程序共享不同的文本?
- (void)share {
NSString *text = @"share test";
NSArray * activityItems = @[[NSString stringWithFormat:@"%@", text], [NSURL URLWithString:@"http://www.test.co"]];
NSArray * applicationActivities = nil;
NSArray * excludeActivities = @[UIActivityTypeAssignToContact, UIActivityTypeCopyToPasteboard, UIActivityTypePostToWeibo, UIActivityTypePrint, UIActivityTypeMessage];
UIActivityViewController * activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities];
activityController.excludedActivityTypes = excludeActivities;
[self presentViewController:activityController animated:YES completion:nil];
[activityController setCompletionWithItemsHandler:^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) {
NSLog(@"The setCompletionWithItemsHandler completed = %i", completed);
if (completed) {
NSLog(@"The selected activity was %@", activityType);
if ( [activityType isEqualToString:UIActivityTypeMail]) …Run Code Online (Sandbox Code Playgroud) 您如何访问 XCUITest 中的 UIActivityViewController(共享/操作表)?根据 Accessibility Inspector,t 由几个 UICollectionViews 组成,这使得很难消除工作表本身的歧义。
当工作表出现时查询XCUIApplication().sheets.count退货0。
谁能告诉我如何在 UIActivityViewController 中实现“在 Safari 中打开”?我知道这个问题是很久以前发布的另一个问题的重复,当时的方法是使用不再使用的框架。
我共享的数据是一个 URL。我已经有一个完全可用的 ActivityVC,我只需要添加“在 safari 中打开”按钮。
非常感谢。
代码:
@IBAction func shareButtonPressed(_ sender: UIButton) {
let activityVC = UIActivityViewController(activityItems: [URL(string: urlStr)!], applicationActivities: nil)
activityVC.popoverPresentationController?.sourceView = self.view
self.present(activityVC, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud) 我正在使用新的 ActivityViewController 使用户能够在 Facebook 或 Twitter 中共享消息。我更改了 exceptedActivityTypes 属性,以便在 ActivityViewController 上仅显示 Facebook 和 Twitter 按钮。在 ActivityItems 数组中,我只有一个包含要共享的文本的 NSString。
\n\n这是代码:
\n\nNSString *text = @"Text to share";\n\nNSArray *activityItems = [NSArray arrayWithObjects:text, nil];\n\nUIActivityViewController *avc = [[UIActivityViewController alloc] initWithActivityItems: activityItems applicationActivities:nil];\n\n// Indicamos los servicios est\xc3\xa1ndar que no queremos mostrar\nNSArray *excludedActivityTypes = [NSArray arrayWithObjects:UIActivityTypePostToWeibo, UIActivityTypeMessage, UIActivityTypeMail, UIActivityTypePrint, UIActivityTypeCopyToPasteboard, UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll, nil];\n\navc.excludedActivityTypes = excludedActivityTypes;\n\n[self presentViewController:avc animated:YES completion:nil];\nRun Code Online (Sandbox Code Playgroud)\n\n该设备以西班牙语配置。
\n\n因此,当我选择在 Facebook 中共享时,预览表会以西班牙语显示(正常),但当我选择 Twitter 时,Twitter 预览表会以英语显示......这不是很重要,但对用户来说不是很漂亮。另外,我担心这可能是更重要的事情的征兆。
\n\n你知道为什么 Twitter 预览表是英文的吗?
\n\n更新: ActivityViewIndicator 的取消按钮也以英文显示 …
我正在通过UIActivityViewController分享录音。通过电子邮件或iMessage共享音频文件时,它会显示音频文件的基础名称,而无需任何明显的更改方式。
NSArray *activityItems = [NSArray arrayWithObjects:self.audioPlayer.url, nil];
UIActivityViewController *avc = [[UIActivityViewController alloc]
initWithActivityItems:activityItems
applicationActivities:nil];
[self presentViewController:avc
animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
如果我不使用UIActivityViewController而仅直接使用MFMessageComposeViewController,那么我可以使用
[composer addAttachmentURL:self.audioPlayer.url withAlternateFilename:@"Piano Song.m4a"];
Run Code Online (Sandbox Code Playgroud)
UIActivityViewController是否可以使用备用文件名?
iphone ios mfmessagecomposeviewcontroller uiactivity uiactivityviewcontroller
我UIActivityViewController点击一个按钮后显示一个.而且,在iOS7的任何设备中,它activityViewController都显得透明.
该项目具有部署目标7.0
这是打开的代码 UIActivityViewController
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[@"link"] applicationActivities:nil];
if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_7_1) {
activityViewController.popoverPresentationController.sourceView = self.buttonShare;
}
[activityViewController setValue:@"Subject" forKey:@"subject"];
activityViewController.view.tintColor = [UIColor blueColor];
[self.navigationController presentViewController:activityViewController animated:YES completion:^{ }];
Run Code Online (Sandbox Code Playgroud)
有关正在发生的事情的任何线索?
好吧,情况是当我尝试在Facebook上与UIActivityViewController共享文本时,共享文本在facebook弹出窗口中显示为空白,而提供的URL出现但文本未显示在Facebook共享对话框或弹出窗口中.有时,URL也不会出现或显示在共享对话框中.
注意:
Facebook本机应用程序已经安装在设备中并从设备设置登录,我还将应用程序更新到版本31.0.
使用的设备: - 带有iOS 8.3的iPhone 6
码:-
NSString *shareString = [NSString stringWithFormat:@"Welcome to family."];
NSURL *website = [NSURL URLWithString:@"http://google.com"];
NSArray *shareArray = @[shareString,website];
UIActivityViewController *activityController = [[UIActivityViewController alloc]initWithActivityItems:shareArray
applicationActivities:nil];
[self presentViewController:activityController
animated:YES completion:nil];
[activityController setCompletionHandler:^(NSString *activityType, BOOL completed){
}];
Run Code Online (Sandbox Code Playgroud)