如何从 NSobject 类 iOS 在任何视图控制器类上弹出 MFMessageComposeViewController 对象
Posted
技术标签:
【中文标题】如何从 NSobject 类 iOS 在任何视图控制器类上弹出 MFMessageComposeViewController 对象【英文标题】:how to popup MFMessageComposeViewController object on any view controller class from NSobject class iOS 【发布时间】:2013-04-22 16:00:09 【问题描述】:如何通过NSObject
类方法在后台执行在任何视图控制器(topviewcontroller)上打开MFmessageComposeviewcontroller
。
这是我的代码,弹出按摩控制器没有错误
MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
if([MFMessageComposeViewController canSendText])
controller.body = @"Check out FundooSpace for mobile. Download it now from www.lsaknlansc.cas.kasjla/FundooSpace/d";
controller.recipients=(NSArray *)passa;
passa=nil;
AppDelegate *appDelegateObject1 = (AppDelegate *)[[UIApplication sharedApplication] delegate];
controller.messageComposeDelegate=self;
[appDelegateObject1.navigationCntr.topViewController performSelectorOnMainThread:@selector(presentModalViewController:animated:) withObject:controller waitUntilDone:NO];
但点击发送或取消按钮后 1 会崩溃。
2.delegate
方法没有被调用(如何设置delegate到消息控制器)
【问题讨论】:
【参考方案1】:我认为在后台运行的 NSObject 已被释放。它也是 Compose View Controller 的委托,所以致命错误:EXC BAD ACCESS。属性 messageComposeDelegate 不保留对象。您正在使用 ARC,不是吗?
尝试保留将其分配给任何强 var 的对象,直到撰写视图控制器结束。
【讨论】:
当我创建 ipa 文件并在设备上安装时出现一个问题,然后它会崩溃(wait_fences:未能收到回复:10004003)。但是使用设备在 Xcode 中运行然后它工作正常。请告诉我为什么会发生这种情况? 这是一个非常不同的问题。请打开一个新问题。以上是关于如何从 NSobject 类 iOS 在任何视图控制器类上弹出 MFMessageComposeViewController 对象的主要内容,如果未能解决你的问题,请参考以下文章
从 NSObject 类推送 iOS UIViewController
如何从 iOS 中的 NSObject 类导航到 ViewController?