2016-02-18 34 views
1

我想提出一个今天的扩展,我试图让它显示,像这样的AlertController:今天扩展UIAlertController功能不可

UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"AlertView" message:@"I am an AlertView" preferredStyle:UIAlertControllerStyleAlert]; 
UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault 
                 handler:^(UIAlertAction * action) { 
                  [alert dismissViewControllerAnimated:YES completion:nil]; 
                 }]; 
[alert addAction:defaultAction]; 
[self presentViewController:alert animated:YES completion:nil]; 

可悲的是,它崩溃与此错误的第一行:

2016-02-18 11:53:46.311 App Scenes[17870:669107] *** Assertion failure in void _UIApplicationAssertForExtensionType(NSArray *__strong)(), /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3512.30.14/UIApplication.m:2446 
2016-02-18 11:53:51.230 App Scenes[17870:669107] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Feature not available in extensions of type com.apple.widget-extension' 

我从TodayViewController调用此代码。 谁能告诉我为什么这段代码不工作?

回答

1

错误消息告诉你你需要知道的一切。

reason: 'Feature not available in extensions of type com.apple.widget-extension' 

苹果显然不会让人们从今天的扩展提出警告,即使他们没有我无法想象它是和愉快的用户体验。

+0

我确实意识到,但我看到其他人认为这是可能的冲突帖子。那是不可能的? –

+0

看起来是的,也许你应该问你的实际问题的另一个问题..你为什么要显示从今天的延伸警报? - 可能有更好的解决方案。 – Wez

+0

嗯,它应该是一个像这样的警报:你确定要从小部件中删除这个项目吗?但我想我必须找出另一种方法。谢谢。 –

2

iOS扩展不支持UIAlertViewController或以任何方式显示警报。

如果您打算显示类似于警报或弹出窗口,请使用类似于警报的UI/UX创建自定义视图,并在需要时显示/隐藏。