2011-09-13 21 views
6

Tôi đang làm việc trên ứng dụng web cho phép người dùng đăng nhập vào ứng dụng, chỉ khi họ ở một số khu vực nhất định. Tôi gọi locationManager startUpdatingLocation vào đầu ứng dụng của tôi để có được vị trí của người dùng và cho phép/vô hiệu hóa đăng nhập.CLLocationManager startUpdatingLocation vs startMonitoringSignificantLocationChanges

Khi người dùng đăng nhập, tôi gọi

[locationManager stopUpdatingLocation]; 
[locationManager startMonitoringSignificantLocationChanges]; 

và đăng nhập người sử dụng ra khi vị trí được cập nhật nằm ngoài khu vực. Sẽ sử dụng hai phương pháp xung đột trong bất kỳ cách nào? (Tôi đang thử nghiệm mã trên trình mô phỏng do đó vị trí luôn giống nhau).

Lưu ý: Tôi không sử dụng didEnterRegion hoặc didExitRegion vì mọi thứ đều được xử lý bởi mã Javascript hiện tại. Tôi chỉ gửi ở vị trí hiện tại của người dùng.

+0

Chúng không xung đột. Tôi đã thử nghiệm nó. Bạn có thể chạy cả hai một cách an toàn. –

Trả lời

2

Nó thực sự phụ thuộc vào những gì bạn cần với vị trí sau khi người dùng đăng nhập. Khi bạn theo dõi những thay đổi quan trọng, người quản lý vị trí của bạn sẽ chỉ được thông báo về những thay đổi lớn. (ví dụ: tháp di động mới, thay đổi về wifi, vị trí cuộc gọi ứng dụng khác, v.v.). Nó sẽ không được trên cơ sở phù hợp. Nếu tất cả những gì bạn quan tâm là người dùng đăng nhập, tôi có thể sẽ bỏ qua việc giám sát đáng kể tất cả cùng nhau. Nếu bạn vẫn cần vị trí, thì hãy chuẩn bị để chỉ nhận các cập nhật không thường xuyên trên địa điểm.

+0

Tôi bắt đầu với 'startUpdatingLocation' vì khi tôi thử sử dụng' startMonitoringSignificantLocationChanges' khi bắt đầu ứng dụng, nó không gửi vị trí hiện tại đến ứng dụng của tôi. Sau khi người dùng đăng nhập, tôi không thực sự sử dụng vị trí trừ khi người dùng thoát khỏi khu vực mà anh ấy được phép đăng nhập, do đó tôi nghĩ việc theo dõi đáng kể sẽ hiệu quả. Tôi chưa thử nghiệm trên một thiết bị thực tế (và di chuyển xung quanh đủ để có giám sát đáng kể để thông báo cho tôi về bất cứ điều gì) bởi vì tôi vẫn đang chờ Apple phê duyệt tôi như một nhà phát triển iOS trả tiền. – dee

+0

Nói chung nếu bạn đang hoạt động trong ứng dụng của mình, bạn sẽ chủ động theo dõi vị trí. Theo dõi vị trí quan trọng là khi không cần cập nhật vị trí thường xuyên. Giống như trong nền. Điều này giúp với tuổi thọ pin. –

+0

Nếu bạn chỉ cần theo dõi một khu vực cụ thể, tôi sẽ đề xuất các phương pháp theo dõi vùng. Tôi hiện đang sử dụng chúng và chúng hoạt động khá tốt. Nhìn vào -startMonitoringForRegion, bạn sẽ tìm thấy những gì bạn cần. –

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