0

Ben Ionic app üzerinde çalışıyorum ve ben appsFlyer cordova eklentisi kullanıyorum, ama nedense her ilk defa kullanıcı açık uygulaması (i Uygulamaya, cihaz ilk kez takıldığında ortalama) hata ve diğer takip eden süreç molaları veriyor.cordova appsFlyer uygulamanın kilitlenme ilk kez

Hata:

2016-04-13 11:38:44.047 WotNow[1730:35993] bool _WebTryThreadLock(bool), 0x7fd5450b4170: Tried to obtain the web lock from a thread other than the main thread or the web thread. This may be a result of calling to UIKit from a secondary thread. Crashing now... 
1 0x10878b70b WebThreadLock 
2 0x1016d9b04 -[UIWebView stringByEvaluatingJavaScriptFromString:] 
3 0x1008c6720 -[AppsFlyerPlugin onConversionDataReceived:] 
4 0x100a46a8c __53-[AppsFlyerTracker handleConversionDataWithDelegate:]_block_invoke182 
5 0x1093c6b49 __75-[__NSURLSessionLocal taskForClass:request:uploadFile:bodyData:completion:]_block_invoke 
6 0x1093d90f2 __49-[__NSCFLocalSessionTask _task_onqueue_didFinish]_block_invoke 
7 0x1056b6630 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ 
8 0x1055f1805 -[NSBlockOperation main] 
9 0x1055d4725 -[__NSOperationInternal _start:] 
10 0x1055d4336 __NSOQSchedule_f 
11 0x1063143eb _dispatch_client_callout 
12 0x1062fa82c _dispatch_queue_drain 
13 0x1062f9d4d _dispatch_queue_invoke 
14 0x1062fc996 _dispatch_root_queue_drain 
15 0x1062fc405 _dispatch_worker_thread3 
16 0x1066514de _pthread_wqthread 
17 0x10664f341 start_wqthread 

Ve xcode bu hata olarak kod aşağıda vurgulayın.

XCODE Hata Kodu:

-(void)onConversionDataReceived:(NSDictionary*) installData { 
    NSError *error; 
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:installData 
              options:0 
              error:&error]; 
    if (jsonData) { 
     NSString *JSONString = [[NSString alloc] initWithBytes:[jsonData bytes] length:[jsonData length] encoding:NSUTF8StringEncoding]; 
     [[super webView] stringByEvaluatingJavaScriptFromString: [NSString stringWithFormat:@"javascript:window.plugins.appsFlyer.onInstallConversionDataLoaded(%@)", JSONString]]; 

    } else { 
     NSLog(@"%@",error); 
    } 
} 

i i görünmelidir nerede kimse bana söyleyebilir ve ne gerekir kod gerektiği takdirde çok yararlı olacaktır yüzden Objective-c ve iOS hataların pek farkında değilim bu sorunu çözmek için ekleyin.

+0

iş parçacığına ilişkin bir konuyla ilgili UIKit yöntemi, ana iş parçacığınız dışında bir iş parçacığından, izin verilmez. – AnshaD

+0

@AnshaD Etrafta herhangi bir iş var mı yoksa kod değişikliği mi yapmam gerekiyor? –

+0

dispatch_async (dispatch_get_main_queue(),^{ // kodunuzu buradan yapın }); – AnshaD

cevap

0

bu

-(void)onConversionDataReceived:(NSDictionary*) installData { 
      NSError *error; 
      NSData *jsonData = [NSJSONSerialization dataWithJSONObject:installData 
                options:0 
                error:&error]; 
      if (jsonData) { 
       NSString *JSONString = [[NSString alloc] initWithBytes:[jsonData bytes] length:[jsonData length] encoding:NSUTF8StringEncoding]; 
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^{ 

    [[super webView] stringByEvaluatingJavaScriptFromString: [NSString stringWithFormat:@"javascript:window.plugins.appsFlyer.onInstallConversionDataLoaded(%@)", JSONString]]; 
}); 

      } else { 
       NSLog(@"%@",error); 
      } 
     } 
+0

hala çalışmıyor, çökme sorunları yaşıyorum –

İlgili konular