2013-05-27 56 views
5

Ứng dụng của tôi mà tôi đang phát triển là ứng dụng loại báo thức. Khi người dùng nhấn nút home, tôi lên lịch một vài UILocalNotifications để bắn vào các khoảng thời gian nhất định. Các thông báo cháy vào đúng thời điểm khi tôi nhấn nút home và thoát khỏi ứng dụng, nhưng chúng không cháy chút nào nếu tôi nhấn nút Khóa. Tôi đã tìm kiếm xung quanh nhưng chưa tìm ra lý do tại sao điều này được nêu ra.UILocalNotification không kích hoạt khi thiết bị bị khóa

Như tôi đã nói, nó hoạt động tốt khi tôi nhấn nút trang chủ đầu tiên. Chúng bắn vào đúng thời điểm, nhưng nếu tôi nhấn nút "Khóa" ở đầu điện thoại thì chúng sẽ không kích hoạt sau đó. Bất cứ ai có bất kỳ ý tưởng nào về lý do tại sao điều này là?

Cảm ơn

+0

Bạn đã kiểm tra xem ứng dụng có được phép hiển thị thông báo trên màn hình khóa không? Kiểm tra cài đặt. –

+0

Chỉ cần kiểm tra trên điện thoại của tôi, nó được cho phép, nhưng vẫn không kích hoạt khi bị khóa. Chỉ cần thử trên mô phỏng quá nhưng nó không có bất kỳ cài đặt thông báo và vẫn không cháy trên đó hoặc. – ColaCube

+0

Bạn đang thử nghiệm phiên bản hệ điều hành và thiết bị nào? – J2theC

Trả lời

0

Điều này là do nút khóa không thoát khỏi ứng dụng của bạn.

Tôi giả sử bạn đang thiết lập UILocalNotifications trong applicationWillTerminate: trong ủy quyền ứng dụng của bạn. Nếu bạn thêm một số đăng nhập vào phương pháp này, bạn sẽ thấy rằng nó không được gọi khi sử dụng nút khóa.

Thiết lập thông báo của bạn trong applicationWillResignActive: có thể giải quyết được sự cố của bạn.

1

Tôi biết điều này là quá muộn nhưng có thể giúp ai đó. Vấn đề này đã bị bỏ qua trên SO và không có hướng dẫn trên internet. Dù sao, những gì bạn cần làm là đặt UIUserNotificationActivationModeBackground khi đặt UIUserNotificationSettings và bạn nên làm tốt.

Code:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
// Override point for customization after application launch. 
    if ([UIDevice currentDevice].systemVersion.floatValue >= 8.0) { 
    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound | UIUserNotificationActivationModeBackground categories:nil]; 
    [application registerUserNotificationSettings:settings]; 
    } 
    return YES; 
} 

Hope this helps.

+0

OP cụ thể đặt IOS6 –

+0

Đó là lý do tôi nói nó có thể giúp ai đó trong tương lai, và nó là hiển nhiên kể từ khi tôi trả lời câu hỏi sau 3 năm, nó không phải là dành cho OP. –

+0

Quá tôi không phải là và trong khi đó là lời khuyên tốt Tại sao –