Tôi đã làm rất nhiều nghiên cứu nhưng tôi không thể tìm thấy những gì tôi đang tìm kiếm: Hiện tại, cả Deployment Target
và Base SDK
của ứng dụng của tôi được đặt thành 10.8
và nó chạy hoàn hảo. Tôi có thể đăng thông báo chính xác lên Trung tâm thông báo mới của Mountain Lions!Cách tạo ứng dụng chạy trên Mac OS 10.6 và hỗ trợ NSUserNotificationCenter?
Để xây dựng một ứng dụng cũng chạy trong Mac OS 10.6
, tôi đã đặt Mục tiêu triển khai thành 10.6 và xây dựng nó (as recommended in this thread). Thật không may, ứng dụng gặp sự cố trên 10.6 và báo cáo sự cố chi tiết rằng NSUserNotificationCenter không thể tìm thấy (Không xử lý phiên bản OS).
-
Vì vậy, những gì tôi chắc chắn phải làm, là để kiểm tra, cho dù lớp NSUserNotificationCenter tồn tại:
notificationCenterIsAvailable = (NSClassFromString(@"NSUserNotificationCenter")!=nil);
và hoạt động dựa trên lá cờ boolean này.
Nhưng những gì về luật mà không thể được dựa trên lá cờ này, như:
- giao diện
..: <NSUserNotificationCenterDelegate> {
- hoặc kiểu tham chiếu đến Notification Center:
NSUserNotificationCenter *center
trong các thuộc tính lớp?
Suy nghĩ đầu tiên của tôi là tự động thay đổi tiêu đề lớp khi chạy, tức là thêm phương pháp và thuộc tính để xử lý Trung tâm thông báo dựa vào việc lớp học có tồn tại hay không, nhưng điều này có vẻ rất phức tạp?
Vì vậy, ngay cả các phương thức ủy nhiệm như trung tâm 'userNotificationCenter: (NSUserNotificationCenter *) shouldPresentNotification:' và '(void) userNotificationCenter: (NSUserNotificationCenter *) center didActivateNotification:' đang bị xóa bởi trình biên dịch tự động? – Raffael
@Raffael Không có mã nào còn lại, tuy nhiên chúng sẽ không được sử dụng. – trojanfoe
Nó hoạt động, cảm ơn bạn! Vụ tai nạn gần đây phải có lý do khác. – Raffael