我正在使用以下代码使用 UIActivityViewController 仅将字符串共享给 Facebook
UIActivityViewController *activityViewController =
[[UIActivityViewController alloc] initWithActivityItems:activityItems
applicationActivities:nil];
activityViewController.excludedActivityTypes = @[UIActivityTypePostToWeibo,
UIActivityTypeMessage,
UIActivityTypeMail,
UIActivityTypePrint,
UIActivityTypeCopyToPasteboard,
UIActivityTypeAssignToContact,
UIActivityTypeSaveToCameraRoll,
UIActivityTypeAddToReadingList,
UIActivityTypePostToFlickr,
UIActivityTypePostToVimeo,
UIActivityTypePostToTencentWeibo,
UIActivityTypeAirDrop,
UIActivityTypePostToTwitter];
[self presentViewController:activityViewController animated:YES completion:^{
...
}
Run Code Online (Sandbox Code Playgroud)
这有效,除了它还会显示 WhatsApp 图标和更多图标。有没有办法去掉这两个?提前致谢!
我尝试使用 UIActivityViewController 通过 AirDrop 将数据(NSData)从一台 iOS 设备上的应用程序发送到另一台设备。我在我的应用程序 plist 中创建了一个新的 CSM(自定义数据类型)。public.filename-extension = ppm。那么如何将 ppm 扩展添加到我尝试发送的 NSDate 对象中?我是否正确地认为,当您呈现 UIActivityViewController 时,如果我发送的对象没有我的应用程序公共扩展名(ppm),我的应用程序图标将不会显示在 UIActivityViewController 窗口中??....是的,我是真的很困惑!这是我用来呈现 UIActivityViewController 的代码
@IBAction func shareButton(sender: AnyObject) {
// myData is the object I want to send to be used in my app on another device
let vc = UIActivityViewController(activityItems: [myData],applicationActivities: [])
presentViewController(vc, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
基本上,我想做的就是发送要在我的应用程序中使用的自定义数据
我有一个代码,它通过 UIActivityViewController 共享一行文本和一个图像。在我更新到 iOS 10 后,它开始崩溃并显示以下日志:
此应用程序已崩溃,因为它试图在没有使用说明的情况下访问隐私敏感数据。应用程序的 Info.plist 必须包含一个 NSPhotoLibraryUsageDescription 键和一个字符串值,向用户解释应用程序如何使用这些数据。
我没有发布代码,因为即使在 Apple 自己的示例中它似乎也会发生。我找到了一个相应的雷达,但没有找到 StackOverflow 主题。
希望它会节省某人的时间。修复方法是将该行添加到您的 plist,即使应用程序本身不与照片库交互。如果有人找到更好的解决方案,那就太好了。
请注意,它与 UIImagePickerController的问题不同- 它接近于相反的操作。
我想共享一个在应用程序中创建的URL文件和一个文本.但它似乎只能共享文本,而不是URL或UIImage.我正在使用的代码:
let sharedVideo = Video(Title: _data[1], VideoID: _data[0], Duration: _data[3], ViewCount: _data[2])
let sharedURL = VideoManager.exportData(video: sharedVideo)
let shareItems:Array = [sharedURL,"check this out baby!"] as [Any]
let activityViewController = UIActivityViewController(activityItems: shareItems, applicationActivities: nil)
self.present(activityViewController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
此外,我使用UIImage对象而不是sharedURL来查看它是否有URL问题.
即使使用图像文件也不起作用.当我点击内部的分享按钮时UIActivityViewController,它只适用于文本,没有URL或图像.我在Xcode 8中使用Swift 3.
谢谢.
PS:我确信sharedURL对象不是nil也不是undefined.
UIActivityViewController是否需要Info.plist隐私密钥: NSContactsUsageDescription或NSPhotoLibraryUsageDescription通过电子邮件发送或将图像保存到照片库?
我从未见过它在测试中的这些活动期间崩溃,但我在 iOS 10 设备上看到了一些崩溃报告(数量不多),堆栈跟踪中包含CRASHING_DUE_TO_PRIVACY_VIOLATION 。该应用程序唯一涉及隐私的地方是用户使用我通过 UIActivityViewController 活动提供的功能通过电子邮件共享屏幕截图或将其保存到照片库。这是苹果提供的框架,据我所知,我的应用程序无法实际访问任何数据?!
的文档UIActivityViewController没有说明在这些类型的活动期间需要这些字符串来访问联系人或照片库。
我想创建一个UIActivityViewController只有文本和邮件活动.我该怎么做?该文件似乎是在物质相当稀疏.
我正在使用以下代码来展示我的UIActivityViewController:
NSArray *Items = [NSArray arrayWithObject:@"text"];
UIActivityViewController *ActivityView =
[[UIActivityViewController alloc]
initWithActivityItems:Items applicationActivities:nil];
[self presentViewController:ActivityView animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
产生这个:

如果没有子类化UIActivity,是否可以使用UIActivityViewController(UIActivityTypeMessage)通过Mail应用程序共享html消息?
当我将HTML作为NSString传递时,正文在消息正文中显示了html标签(例如),这不是我想要的。
我有一个案例如下:
非常感谢 !!!
在我的应用程序中,我使用以下代码,允许与文本共享图像:
- (IBAction)sharePressed:(id)sender {
UIImage *postingImage = [UIImage imageWithContentsOfFile:self.filepath];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[@"Lorem ipsum", postingImage] applicationActivities:nil;
[self presentViewController:activityViewController animated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)
当发布我可以看到图像,但看不到文字.FB中也没有出现文字.
我创造@IBAction了UIActivityViewController.
@IBAction func shareButton(_ sender: Any) {
let text1 = "??????? ???????? ???? ? ?????????? \(year) ???."
let text2 = "??????: \(mounthLabel.text!)"
let text3 = "??????: \(weekLabel.text!)"
let text4 = "???: \(dayLabel.text!)"
let text5 = "????: \(hourLabel.text!)"
let text6 = "??????: \(minuteLabel.text!)"
let text7 = "???????: \(secundLabel.text!)"
let URL0 = "??????? ????????? ??????? ?? ??????:"
let URL = "https://itunes.apple.com/us/app/unit-converter/id1329406653?l=ru&ls=1&mt=8"
let space = ""
let space2 = ""
let activityController = UIActivityViewController(activityItems: [text1, space, text2, text3, text4, …Run Code Online (Sandbox Code Playgroud) ios ×10
share ×3
swift ×2
facebook ×1
info.plist ×1
ios10 ×1
objective-c ×1
popup ×1
privacy ×1
sharing ×1
swift3 ×1
uiactivity ×1
uikit ×1
xcode ×1
xcode8 ×1