我目前正在使用Xcode 6(Beta 6)测试我的应用程序.UIActivityViewController可与iPhone设备和模拟器配合使用,但与iPad模拟器和设备(iOS 8)崩溃并带有以下日志
Terminating app due to uncaught exception 'NSGenericException',
reason: 'UIPopoverPresentationController
(<_UIAlertControllerActionSheetRegularPresentationController: 0x7fc7a874bd90>)
should have a non-nil sourceView or barButtonItem set before the presentation occurs.
Run Code Online (Sandbox Code Playgroud)
我正在为iOS 7和iOS 8使用以下iPhone和iPad代码
NSData *myData = [NSData dataWithContentsOfFile:_filename];
NSArray *activityItems = [NSArray arrayWithObjects:myData, nil];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:nil applicationActivities:nil];
activityViewController.excludedActivityTypes = @[UIActivityTypeCopyToPasteboard];
[self presentViewController:activityViewController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
我也得到了一个类似的崩溃我的其他应用程序.你能指导我吗?iOS 8中的UIActivityViewController有什么变化吗?我查了但是我没有找到任何关于此的内容
我开始搜索时想知道如何与iOS中的其他应用分享.我发现有两个重要的方法
UIActivityViewController
UIDocumentInteractionController
在这个SO答案中比较了这些和其他方法.
通常当我学习一个新概念时,我希望看到一个让我入门的基本例子.一旦我得到基本的设置,我可以稍后修改它.
有很多与之相关的问题UIActivityViewController
,但我找不到任何只是要求一个简单的例子.由于我刚刚学会了如何做到这一点,我将在下面提供我自己的答案.随意添加一个更好的(或Objective-C版本).
我正在使用UIActivityViewController在iOS7中共享项目.当我点击"邮件"选项时,它会弹出邮件编辑器,但导航栏上的"取消"和"发送"按钮以及导航栏本身都是蓝色的,这使得它很难阅读,所以我想改变它们的颜色.它在iOS6中工作,但在iOS7中不工作.
我试过了
[[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor redColor], UITextAttributeTextColor, [UIColor clearColor], UITextAttributeTextShadowColor, nil] forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)
哪个适用于iOS6,我试过了
[[UIBarButtonItem appearance] setTintColor:[UIColor redColor]];
[[UINavigationBar appearance] setBarTintColor:[UIColor redColor]];
Run Code Online (Sandbox Code Playgroud)
这会导致颜色在第一次运行应用程序时闪烁红色,然后立即切换回蓝色.
我想设置电子邮件共享主题UIActivityViewController
,也想在Twitter上分享.我知道在Twitter上我们想分享 - 我们需要将文本压缩到140个字符.我检查了许多SO解决方案,但没有任何工作.
最新的iOS版本是否修复了此问题?还有其他"工作方案"吗?
如何UIActivity
在iOS中创建自定义?
我想要这个的原因是在我的一个应用程序中添加一个Review App按钮,将用户带到App Store的评论部分.我该如何创建这样的自定义UIActivity
?
我创建了一个csv文件并尝试通过电子邮件发送它.显示发送邮件的窗口,但不填充电子邮件正文,也没有附加文件.应用程序挂起此屏幕:
按钮"取消"不起作用.在控制台中出现几秒钟后:
viewServiceDidTerminateWithError: Error Domain=_UIViewServiceInterfaceErrorDomain Code=3 "The operation couldn’t be completed. (_UIViewServiceInterfaceErrorDomain error 3.)" UserInfo=0x7f8409f29b50 {Message=Service Connection Interrupted}
<MFMailComposeRemoteViewController: 0x7f8409c89470> timed out waiting for fence barrier from com.apple.MailCompositionService
Run Code Online (Sandbox Code Playgroud)
有我的代码:
func actionSheet(actionSheet: UIActionSheet!, clickedButtonAtIndex buttonIndex: Int) {
if buttonIndex == 0 {
println("Export!")
var csvString = NSMutableString()
csvString.appendString("Date;Time;Systolic;Diastolic;Pulse")
for tempValue in results { //result define outside this function
var tempDateTime = NSDate()
tempDateTime = tempValue.datePress
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
var tempDate = dateFormatter.stringFromDate(tempDateTime)
dateFormatter.dateFormat = "HH:mm:ss"
var tempTime …
Run Code Online (Sandbox Code Playgroud) ios uidocumentinteraction mfmailcomposer uiactivityviewcontroller
我创建UIActivityViewController
并通过String
与URL
它.这显然是配置UIActivityViewController
使用我想要排除的一些项目(我的目标是分享有关我的应用程序的信息).
我设法通过设置适当的方法排除了许多系统提供的活动(如"添加到阅读列表")excludedActivityTypes
.
但是,我无法排除提醒和Notes应用程序.有人可以建议一种方法吗?这些应用程序在列表中显示第3和第4,因此除非用户滚动,否则Twitter和Facebook不可见.
拜托,如果我犯错误,你能告诉我吗?
NSString *sharedMsg=[NSString stringWithFormat:@"Hello world"];
UIImage* sharedImg=[UIImage imageNamed:@"image"];
NSArray* sharedObjects=[NSArray arrayWithObjects:sharedMsg, sharedImg, nil];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc]
initWithActivityItems:sharedObjects applicationActivities:nil];
activityViewController.popoverPresentationController.sourceView = self.view;
[self presentViewController:activityViewController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
在运行时,当我选择Facebook的图标时,文本丢失,图像被正确显示.
我的xcode是6.3.1,在iPad上测试过.
我希望能够跟踪用户是否通过Facebook,Twitter等共享,但似乎无法知道选择了哪种方法.在那儿?
我正在使用UIActivityViewController,它提供了一些默认文本和链接.使用所有社交媒体(短信,电子邮件,推特),将显示默认文本和URL.但是,在显示URL图像时使用FB,默认文本不显示(它只是空白).以下是代码:
NSString *shareStr = [NSString stringWithFormat:@""some text"];
NSURL *website = [NSURL URLWithString:@"website"];
NSArray *shareAray = @[shareStr,website];
[self viewWillDisappear:YES];
UIActivityViewController *activityController = [[UIActivityViewController alloc]initWithActivityItems:shareAray
applicationActivities:nil];
if([activityController respondsToSelector:@selector(popoverPresentationController)] )
activityController.popoverPresentationController.barButtonItem = self.shareButton;
[self presentViewController:activityController
animated:YES completion:nil];
[activityController setCompletionHandler:^(NSString *activityType, BOOL completed){
if (!activityType || UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
[self viewWillAppear:YES];
}
}];
Run Code Online (Sandbox Code Playgroud)
更新:如下面其他人所述,FB不再允许预填.以下是视频的另一个链接,其中提供了允许内容和不允许内容的示例:https: //developers.facebook.com/docs/apps/review/prefill
ios ×7
objective-c ×4
facebook ×2
uiactivity ×2
cocoa-touch ×1
email ×1
ios7 ×1
ios8 ×1
share ×1
subject ×1
swift ×1
xcode ×1