2011-06-21 47 views
11

Tôi đang sử dụng Giám sát Vùng trong ứng dụng của mình và tôi đã gặp phải một câu hỏi mà tôi không thể tìm thấy bất kỳ câu trả lời nào cho nó. Làm thế nào để theo dõi vùng hoạt động ở chế độ nền?Giám sát Vùng iOS ở Chế độ Nền

Theo Location Awareness PG:

Mỗi khi vị trí hiện tại của người dùng đi qua một khu vực ranh giới, hệ thống tạo ra một sự kiện khu vực thích hợp cho ứng dụng của bạn. Nếu ứng dụng của bạn đang chạy, các sự kiện này sẽ chuyển trực tiếp tới các đại biểu của mọi đối tượng trình quản lý vị trí hiện tại. Nếu ứng dụng của bạn không chạy, hệ thống sẽ khởi chạy nó ở nền để nó có thể phản hồi.

Bây giờ, câu hỏi này là: ứng dụng của tôi đang ở chế độ treo, một khu vực đã được nhập và kích hoạt nên được giao, không sự kiện này sẽ được gửi "trực tiếp" để các đại biểu của:

locationManager:didEnterRegion: 

?? Cùng một câu hỏi nếu ứng dụng ở chế độ nền. Nói cách khác, có bất kỳ mã nào tôi nên xem xét trong chế độ tạm ngưng và chế độ nền để nhận sự kiện này không? hoặc iOS sẽ khởi động ứng dụng lần đầu tiên, sau đó gửi trực tiếp sự kiện cho đại biểu mà không cần mã BG?

+1

đã câu hỏi này bao giờ được giải quyết cho bạn? Tôi có câu trả lời cho bạn nếu không. –

+0

Tôi cũng muốn được giúp đỡ về điều này! Cảm ơn! – Mathieu

Trả lời

0

Theo như tôi biết, chức năng giám sát vùng chỉ hoạt động với iPhone4 và nó dựa trên thiết bị thay đổi tháp truyền thông. Bằng cách này, nó sử dụng pin ít hơn so với bản cập nhật vị trí nền tiêu chuẩn. Đảm bảo bạn đã bật chế độ nền thích hợp. Miễn là bạn thực hiện đại biểu đó, bạn sẽ sẵn sàng để đi.

+0

mmmmmm .... dẫn đến một câu hỏi khác, có thể âm thanh ngớ ngẩn, nhưng thiết bị Giám sát khu vực yêu cầu xác định rằng trong info.plist? Trong trường hợp này, ứng dụng của tôi sẽ không được cài đặt trên 3G trong khi tính năng này không cần thiết (nó không phải là ứng dụng dựa trên vị trí). –

+0

Có, bạn vẫn cần bật theo dõi vị trí. –

+0

Tôi nghĩ bạn nói đúng. Tôi đã thử nhiều lần nhưng tôi chưa bao giờ được thông báo rằng tôi đã vào khu vực này. Tôi sẽ xem xét sửa đổi info.plist. Tuy nhiên, điều này sẽ làm giảm đáng kể doanh số bán hàng của tôi !. Cảm ơn bạn. –

1

Giám sát khu vực Khởi chạy lại ứng dụng của bạn khi bạn vào khu vực được giám sát nếu bạn ở chế độ nền.

tuy nhiên bạn phải định cấu hình lại trình quản lý vị trí của mình sau khi ứng dụng khởi chạy lại.

một cái gì đó như thế này -

if ([launchOptions objectForKey:UIApplicationLaunchOptionsLocationKey]) 
    { 

     NSLog(@"Relaunched due to location update"); 

     NSLog(@"app woke up times ---- %d",ForTest); 

     NSLog(@"Starting the location manager"); 
     self.locmanager = [[CLLocationManager alloc] init]; 
     [self.locmanager startMonitoringForRegion:(CLRegion)*region]; 
     // self.locmanager.pausesLocationUpdatesAutomatically = YES ; 
    } 
-1

enter image description here

cho phép chế độ nền ở chỗ cho phép cập nhật Vị trí và nền Fetch

+0

Cả hai đều không được yêu cầu. –

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