Ứng dụng Nike + GPS mới cho iOS 5 có thể xử lý các sự kiện gia tốc trong nền (do đó cho phép theo dõi máy chạy bộ trong nhà). Sao có thể như thế được? Khi tôi đặt ứng dụng của tôi ở chế độ nền, nó sẽ ngừng nhận sự kiện. Tôi sử dụng API UIAccelerometer tiêu chuẩn.Cách Nike + GPS trên iPhone nhận được bản cập nhật gia tốc trong nền?
Trả lời
Vì mục đích cung cấp một câu trả lời cho câu hỏi này, mặc dù nó đã tự trả lời ...
"Nếu bạn sử dụng phiên bản mới hơn lõi chuyển động API, bạn có thể nhận được cập nhật ở chế độ nền."
Dưới đây là một ví dụ:
- (void)startAccelerationCollection {
[self.motionManager startAccelerometerUpdatesToQueue:[[NSOperationQueue alloc] init]
withHandler:^(CMAccelerometerData *data, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
[self.accelerometerReadings addObject:data];
});
}];
}
Thao tác này không hoạt động sau khi bạn nhấn nút trang chủ. Làm thế nào chúng ta có thể khắc phục điều đó? – Sumoanand
@Sumoanand - Yep. Điều này không hoạt động khi ứng dụng bị tạm ngưng (khi người dùng nhấn nút HOME hoặc chuyển ứng dụng, v.v.) – kamyFC
bất kỳ cập nhật nào về điều này? – Nil
Khi khối với bản cập nhật của máy đếm bước đi, tôi gọi là phương pháp để tắt và bật Trên GPS. Đối với tôi, nó đã khắc phục sự cố khi người dùng nhấn vào nhà và ở lại trong một giờ nghe nhạc trên spotify.
Đừng quên bật Cài đặt Project -> Capabilities -> chế độ Background -> Vị trí cập nhật
import CoreLocation
import CoreMotion
//turn Off and turn On GPS
private func apelacaoRenovarGPSLigado() {
LocationManager.sharedInstance.stopUpdatingLocation()
let locationManager = LocationManager.sharedInstance
locationManager.autoUpdate = true
locationManager.startUpdatingLocationWithCompletionHandler { (location, status, verboseMessage, error) ->() in
}
}
private func startPedometer()
{
if CMPedometer.isDistanceAvailable()
{
if self.pedometer == nil
{
self.pedometer = CMPedometer()
}
self.pedometer!.startPedometerUpdatesFromDate(NSDate()) { (data, error) in
dispatch_async(dispatch_get_main_queue(), {
print("DISTANCIA PARCIAL \(data!.distance!)")
print("DIFERENCA \(data!.distance!.doubleValue - (self.totalDistance + self.subtotalDistance))")
self.delegate!.trackerDistanceDidChanged((data!.distance!.doubleValue - (self.totalDistance + self.subtotalDistance))/1000.0)
self.subtotalDistance = data!.distance!.doubleValue
self.apelacaoRenovarGPSLigado()
})
}
}
else
{
self.delegate!.trackerDeviceNotSupported()
}
}
- 1. iPhone GPS - Không nhận được cập nhật vị trí hợp lệ
- 2. iPhone CoreLocation: Cách nhận được tốc độ chính xác nhất
- 3. GPS V.S. gia tốc để tính khoảng cách
- 4. Cách nhận bản cập nhật NSUserDefault trên iOS 4?
- 5. iPhone: Pin xả gia tốc nhanh (60Hz) có cập nhật nhanh không?
- 6. nhận được tỷ lệ cập nhật GPS cao nhất từ Phần cứng GPS trong Android của tôi
- 7. Cách diễn giải các bài đọc gia tốc từ iPhone
- 8. Thu thập dữ liệu gia tốc kế trong nền
- 9. Ứng dụng nền iPhone để cập nhật màn hình khi nhận được cuộc gọi điện thoại
- 10. Phạm vi của máy gia tốc trên iPhone là gì?
- 11. Có thể chạy gia tốc của iPhone ở chế độ nền không?
- 12. Mô phỏng cập nhật vị trí trên iPhone Simulator
- 13. Textarea không nhận được văn bản cập nhật trong jQuery
- 14. Giữa GPS, tiêu đề la bàn và gia tốc kế, tiêu tốn nhiều pin nhất?
- 15. MySQL bên trong tham gia cập nhật
- 16. Android nhận được tăng tốc chuẩn hóa
- 17. Tại sao gia tốc kế: didAccelerate: không được chấp nhận trong IOS5?
- 18. iPhone GPS - Tháo pin cực nhanh
- 19. Đang cập nhật iPhone reachability trên mạng thay đổi
- 20. Cải thiện tốc độ cập nhật bản ghi hiện có (~ 11.000) trong Dữ liệu chính
- 21. Ứng dụng iPhone Cập nhật phiên bản mới
- 22. Tốc độ Android dựa trên các giá trị gia tốc
- 23. Phát triển GPS iPhone - Mẹo + Thủ thuật
- 24. Hành vi lạ của gia tốc kế của Core Motion được thực hiện ở chế độ nền
- 25. truy vấn cập nhật với tham gia trên hai bảng
- 26. Cập nhật QTableView hiệu quả ở tốc độ cao
- 27. Chạy trình nghe GPS ở chế độ nền trên Android
- 28. Cập nhật phiên bản OpenSSL trên OSX
- 29. Làm cách nào để nhận danh sách các bản cập nhật và hotfix được cài đặt?
- 30. Hành vi buggy GPS trên nền tảng Windows Phone 8
Xin vui lòng, bất cứ ai khác có thể khẳng định điều đó? Có vẻ tuyệt vời cho Apple – AlexeyVMP
Tôi có thể xác nhận rằng nó hoạt động! Điều duy nhất bạn cần phải đáp ứng - sử dụng bất kỳ chế độ nền nào để làm cho ứng dụng của bạn chạy trong nền (cập nhật vị trí, phát lại, VoIP hoặc trung tâm BT4). – AlexeyVMP
Xin chào các bạn, cảm ơn vì công việc của bạn cho đến nay! Tôi đã thử cách tiếp cận của bạn cho một ứng dụng pedometer. Nó gần như làm việc cho tôi. Tôi sử dụng chế độ nền vị trí và cập nhật vị trí người dùng cứ 9 phút một lần để ngăn ứng dụng không hoạt động - cơ chế này hoạt động nhưng hàng đợi cập nhật không chứa bất kỳ dữ liệu nào sau 9 phút đầu tiên. Bạn có bất kỳ ý tưởng những gì đi sai hoặc có thể bạn có thể cung cấp một chút chi tiết gợi ý/giải pháp cho vấn đề của tôi? Cảm ơn một lần nữa! Hannes – Hannes