2016-06-12 12 views
10

Tôi đang cố gắng lấy vị trí của người dùng trong Tiện ích mở rộng ngày hôm nay và tôi đang gặp phải một kết thúc chết.Làm cách nào để sử dụng CLLocationManager trong OS X Today Extension?

Trên ứng dụng OS X, khi bạn gọi locationManager.startUpdatingLocation(), một hộp thoại bật lên hỏi bạn có muốn cho phép ứng dụng sử dụng vị trí của bạn hay không. Tuy nhiên, trong chế độ xem Hôm nay, không có gì xảy ra sau khi gọi phương thức này và đại biểu của tôi không được gọi cho số didUpdateLocations hoặc cho didFailWithError. CLLocationManager.authorizationStatus() trả về NotDetermined. Tôi đã xem tài liệu của Apple trên Today Extensions và không thấy nhiều về quyền hoặc về việc nhận được vị trí của người dùng.

Chúng tôi dự định nhận vị trí của người dùng trong tiện ích mở rộng OS X Today như thế nào?

Chỉnh sửa: Một điều cần lưu ý là CLLocationManager.locationServicesEnabled() trả về true trên ứng dụng OS X của tôi và false trên Tiện ích mở rộng ngày hôm nay của tôi. Điều này có nghĩa là gì, và làm thế nào tôi có thể thay đổi điều này?

Trả lời

4

Tiện ích mở rộng OS X Today sử dụng Hộp cát ứng dụng theo mặc định và bạn cần chọn hộp bên phải để cho phép Tiện ích mở rộng ngày nay thực hiện những việc như nhận vị trí của người dùng và thực hiện cuộc gọi mạng.

Tới thiết lập dự án bạn trong Xcode, chọn hệ điều hành của bạn mục tiêu X Hôm nay mở rộng, nhấp vào Capabilities tab, mở rộng App Sandbox phần, và đánh dấu vào hộp cho các khả năng mà bạn muốn (trong trường hợp của tôi , Vị trí và Kết nối Mạng Đi).

Các vấn đề liên quan