本地通知应用程序崩溃模拟器

我正在使用ng-cordova的本地通知插件( https://github.com/katzer/cordova-plugin-local-notifications/ )作为一个离子项目:

这是我的控制者:

.controller('DashCtrl', function($scope, $state, $cordovaLocalNotification) { $scope.addNotification = function() { $cordovaLocalNotification.add({ id: 'some_notification_id' // parameter documentation: // https://github.com/katzer/cordova-plugin-local-notifications#further-informations-1 }).then(function() { console.log('callback for adding background notification'); }); }; $scope.checkIfIsTriggered = function() { $cordovaLocalNotification.isTriggered('some_notification_id').then( function(isTriggered) { alert('isTriggered'); }); }; }) 

在应用程序以ng-click开头时加载的默认视图上有一个button,如下所示:

  <button ng-click="addNotification();" class="button button-stable">button-stable</button> 

但是,当我在模拟器中运行应用程序,并点击button,应用程序崩溃与以下错误消息:

 : *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '- [__NSCFString stringValue]: unrecognized selector sent to instance 0x7a840850' *** First throw call stack: ( 0 CoreFoundation 0x002cc1e4 __exceptionPreprocess + 180 1 libobjc.A.dylib 0x023848e5 objc_exception_throw + 44 2 CoreFoundation 0x00369243 -[NSObject(NSObject) doesNotRecognizeSelector:] + 275 3 CoreFoundation 0x002bc50b forwarding + 1019 4 CoreFoundation 0x002bc0ee CFforwarding_prep_0 + 14 5 new 0x0011f917 -[APPLocalNotification notificationWithId:] + 503 6 new 0x0011f6a6 -[APPLocalNotification isNotificationScheduledWithId:] + 86 7 new 0x0011bccf __28-[APPLocalNotification add:]blockinvoke + 207 8 libdispatch.dylib 0x0293d7b8 dispatchcall_block_and_release + 15 9 libdispatch.dylib 0x029524d0 dispatchclient_callout + 14 10 libdispatch.dylib 0x02940eb7 dispatchroot_queue_drain + 291 11 libdispatch.dylib 0x02941127 dispatchworker_thread2 + 39 12 libsystem_pthread.dylib 0x02c89dab pthreadwqthread + 336 13 libsystem_pthread.dylib 0x02c8dcce start_wqthread + 30 ) Oct 19 11:54:21 xxxx-MacBook-Air.local backboardd[27466] : Application 'UIKitApplication:com.ionicframework.new903016[0xde04]' exited abnormally with signal 6: Abort trap: 6" 

有没有人能够遵循ng-cordova文档来工作,还是有另一种方法,我应该尝试。

谢谢!

如果你仍然有这个问题,我今天也遇到了这个问题。

在Xcode中进入插件代码APPLocalNotifications.m,并将其更改为底部:

NSString* notId = [[notification.userInfo objectForKey:@"id"] stringValue];

并用此replace它:

NSString* notId = [notification.userInfo objectForKey:@"id"];

这对我今天有效。