Uygulamamın arka plan modundan sonlandırılması ve daha sonra herhangi bir önemli konum değişikliğinin meydana gelmesi durumunda arka plan modunda başlaması gerekliliğine ihtiyacım var. Yeni bir olay gelirse İşte tam bu hizmeti başlatırsanız startMonitoringSignificantLocationChanges
Uygulamayı, konum değişikliğindeki arka planda yeniden başlatabilir miyiz? zorlamadan sonra arka plandan çıkın
yüzden ben oraya buraya dolaşım sonra konumumu değiştirmeye çalışmış olsa arka plan modunda bu da onun olmamak yeniden başlatmasını sonra bu koduait belgelerde belirtilen ve uygulama sonradan sonlandırıldı olduğunu budur, sistem otomatik içine arka planı uygulamayı yeniden başlatır. Böyle bir durumda, sözlüğü uygulamasına iletilen seçenekler: uygulama temsilciniz için didFinishLaunchingWithOptions: yöntemi, uygulamanızın bir konum olayı nedeniyle başlatıldığını belirtmek için UIApplicationLaunchOptionsLocationKey anahtarını içerir. Yeniden başlatıldığında, hala bir konum yöneticisi nesnesini yapılandırmanız ve konum olaylarını almaya devam etmek için bu yöntemini çağırmanız gerekir. konum hizmetlerini yeniden başlattığınızda, geçerli olay hemen temsilci teslim edilir. Ayrıca, konum hizmetinize başlamadan önce konumunuzun konum özelliğinin yönetici nesnesinin konum özelliğinin en son konum nesnesi olan ile doldurulur.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if ([CLLocationManager significantLocationChangeMonitoringAvailable]) {
// Stop normal location updates and start significant location change updates for battery efficiency.
[viewController.locationManager stopUpdatingLocation];
[viewController.locationManager startMonitoringSignificantLocationChanges];
//NSLog(@"significantLocationChangeMonitoringAvailable.");
}
else {
//NSLog(@"Significant location change monitoring is not available.");
}
}
koydu.
Burada eksik veya yanıltıcı olan nedir? uygulama arka planda tekrar açılmıyor
Herhangi bir öneriniz var mı? Ben olduğum için hemen I googling itibaren kazasında günlüğüne
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x3ba3feb4 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x3ba40048 mach_msg + 36
2 CoreFoundation 0x337ff040 __CFRunLoopServiceMachPort + 124
3 CoreFoundation 0x337fdd9e __CFRunLoopRun + 878
4 CoreFoundation 0x33770eb8 CFRunLoopRunSpecific + 352
5 CoreFoundation 0x33770d44 CFRunLoopRunInMode + 100
6 Foundation 0x34093f92 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 250
7 AppNm 0x0010a6a4 0xe4000 + 157348
8 AppNm 0x000efc2a 0xe4000 + 48170
9 AppNm 0x000e9796 0xe4000 + 22422
10 CoreLocation 0x33cd1064 -[CLLocationManager onClientEventLocation:] + 2244
11 CoreLocation 0x33cc8eaa __CLClientInvokeCallback_block_invoke_0 + 62
12 CoreFoundation 0x337ff6ae __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 10
13 CoreFoundation 0x337fed80 __CFRunLoopDoBlocks + 156
14 CoreFoundation 0x337fdca8 __CFRunLoopRun + 632
15 CoreFoundation 0x33770eb8 CFRunLoopRunSpecific + 352
16 CoreFoundation 0x33770d44 CFRunLoopRunInMode + 100
17 GraphicsServices 0x373492e6 GSEventRunModal + 70
18 UIKit 0x356862fc UIApplicationMain + 1116
19 AppNm 0x000e5854 0xe4000 + 6228
20 AppNm 0x000e57a4 0xe4000 + 6052
Thread 1 name: Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0 libsystem_kernel.dylib 0x3ba40648 kevent64 + 24
1 libdispatch.dylib 0x3b970974 _dispatch_mgr_invoke + 792
2 libdispatch.dylib 0x3b970654 _dispatch_mgr_thread$VARIANT$mp + 32
Thread 2:
0 libsystem_kernel.dylib 0x3ba50d98 __workq_kernreturn + 8
1 libsystem_c.dylib 0x3b99ecf6 _pthread_workq_return + 14
2 libsystem_c.dylib 0x3b99ea12 _pthread_wqthread + 362
3 libsystem_c.dylib 0x3b99e8a0 start_wqthread + 4
Thread 3 name: WebThread
Thread 3:
0 libsystem_kernel.dylib 0x3ba500fc __psynch_mutexwait + 24
1 libsystem_c.dylib 0x3b999124 pthread_mutex_lock + 388
2 WebCore 0x39786418 _WebTryThreadLock(bool) + 184
3 WebCore 0x3978634a WebRunLoopLock(__CFRunLoopObserver*, unsigned long, void*) + 42
4 CoreFoundation 0x337ff6ca __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 18
5 CoreFoundation 0x337fd9bc __CFRunLoopDoObservers + 272
6 CoreFoundation 0x337fdde8 __CFRunLoopRun + 952
7 CoreFoundation 0x33770eb8 CFRunLoopRunSpecific + 352
8 CoreFoundation 0x33770d44 CFRunLoopRunInMode + 100
9 WebCore 0x39784500 RunWebThread(void*) + 440
10 libsystem_c.dylib 0x3b9a930e _pthread_start + 306
11 libsystem_c.dylib 0x3b9a91d4 thread_start + 4
Thread 4 name: com.apple.NSURLConnectionLoader
Thread 4:
0 libsystem_kernel.dylib 0x3ba3feb4 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x3ba40048 mach_msg + 36
2 CoreFoundation 0x337ff040 __CFRunLoopServiceMachPort + 124
3 CoreFoundation 0x337fdd9e __CFRunLoopRun + 878
4 CoreFoundation 0x33770eb8 CFRunLoopRunSpecific + 352
5 CoreFoundation 0x33770d44 CFRunLoopRunInMode + 100
6 Foundation 0x340bd3d0 +[NSURLConnection(Loader) _resourceLoadLoop:] + 304
7 Foundation 0x34140e80 __NSThread__main__ + 968
8 libsystem_c.dylib 0x3b9a930e _pthread_start + 306
9 libsystem_c.dylib 0x3b9a91d4 thread_start + 4
Thread 5 name: com.apple.CFSocket.private
Thread 5:
0 libsystem_kernel.dylib 0x3ba50594 __select + 20
1 CoreFoundation 0x338031f2 __CFSocketManager + 674
2 libsystem_c.dylib 0x3b9a930e _pthread_start + 306
3 libsystem_c.dylib 0x3b9a91d4 thread_start + 4
Thread 6:
0 libsystem_kernel.dylib 0x3ba50d98 __workq_kernreturn + 8
1 libsystem_c.dylib 0x3b99ecf6 _pthread_workq_return + 14
2 libsystem_c.dylib 0x3b99ea12 _pthread_wqthread + 362
3 libsystem_c.dylib 0x3b99e8a0 start_wqthread + 4
Thread 7:
0 libsystem_kernel.dylib 0x3ba50d98 __workq_kernreturn + 8
1 libsystem_c.dylib 0x3b99ecf6 _pthread_workq_return + 14
2 libsystem_c.dylib 0x3b99ea12 _pthread_wqthread + 362
3 libsystem_c.dylib 0x3b99e8a0 start_wqthread + 4
Thread 8:
0 libsystem_kernel.dylib 0x3ba50d98 __workq_kernreturn + 8
1 libsystem_c.dylib 0x3b99ecf6 _pthread_workq_return + 14
2 libsystem_c.dylib 0x3b99ea12 _pthread_wqthread + 362
3 libsystem_c.dylib 0x3b99e8a0 start_wqthread + 4
Thread 9:
0 libsystem_kernel.dylib 0x3ba50d98 __workq_kernreturn + 8
1 libsystem_c.dylib 0x3b99ecf6 _pthread_workq_return + 14
2 libsystem_c.dylib 0x3b99ea12 _pthread_wqthread + 362
3 libsystem_c.dylib 0x3b99e8a0 start_wqthread + 4
Thread 10:
0 libsystem_kernel.dylib 0x3ba50d98 __workq_kernreturn + 8
1 libsystem_c.dylib 0x3b99ecf6 _pthread_workq_return + 14
2 libsystem_c.dylib 0x3b99ea12 _pthread_wqthread + 362
3 libsystem_c.dylib 0x3b99e8a0 start_wqthread + 4
Unknown thread crashed with unknown flavor: 5, state_count: 1
ile arka planda tekrar açıldıktan sonra uygulama olmak kazasında olduğunu anladım
kadar çok denemeler sonrasında
DÜZENLEME 12July 2013 Değerlendirme sonucunda bırakılan nesneye güncelleme konumu gönderiliyor. Bunun için ben
if ([CLLocationManager significantLocationChangeMonitoringAvailable]) {
// if(!viewController.locationManager){
// viewController.locationManager = [[CLLocationManager alloc] init];
// viewController.locationManager.delegate = viewController;
// viewController.locationManager.distanceFilter = 200.0f;
// viewController.locationManager.desiredAccuracy = 200.0f;
// }
// Stop normal location updates and start significant location change updates for battery efficiency.
viewController.locationManager.delegate = nil;
[viewController.locationManager stopUpdatingLocation];
viewController.locationManager.delegate = viewController;
[viewController.locationManager startMonitoringSignificantLocationChanges];
NSLog(@"significantLocationChangeMonitoringAvailable.");
}
else {
NSLog(@"Significant location change monitoring is not available.");
}
bu gidiyorum doğru yolu mı AppDelegate DidFinishlaunchingWithOptions
kodunu değişti? Veya kilitlenme günlüğü başka bir şey mi gösteriyor?
info.plist'inizi yapılandırdınız mı? Simülatörde veya cihazda test yapmak? – Wain
info.plist'i 'Gerekli Arkaplan Modları 'tuşu ile yapılandırdım ->" Konum güncellemeleri için uygulama kaydediliyor " – Heena
Cihazla test etme.Uygulama güncellemesini almak için etrafta gezindikten sonra arka plandan da uygulamayı kaldırdım.but didn' Uygulamamın arka planda yeniden başlatılmasını sağla – Heena