2016-02-18 75 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創建自定義視圖,並在需要時顯示/隱藏。