Używam wtyczki Phonegap 3 i Media. Wciąż otrzymuję tych błędów podczas testowania mojej aplikacji na iOS:Phonegap "['Media'] Plugin powinien używać wątku tła."
THREAD WARNING: ['Media'] took '205.391846' ms. Plugin should use a background thread.
Widziałem to z dokumentacji PhoneGap (http://docs.phonegap.com/en/edge/guide_platforms_ios_plugin.md.html):
- (void)myPluginMethod:(CDVInvokedUrlCommand*)command
{
// Check command.arguments here.
[self.commandDelegate runInBackground:^{
NSString* payload = nil;
// Some blocking logic...
CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:payload];
// The sendPluginResult method is thread-safe.
[self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
}];
}
Czy to iść do mojej aplikacji, jak to jest, czy Czy muszę go edytować dla każdej wtyczki? Gdzie to umieściłem?
Widziałem kilka postów online na ten temat, ale żaden z wyraźną odpowiedzią na to, jak używać powyższego kodu.
Dziękuję za tę bardzo jasną, szczegółową odpowiedź! Ale pytanie ... Czy to jest konieczne *** do tego? Xcode dostarcza to ostrzeżenie dla każdego wywołania wtyczki, które trwa dłużej niż 10 ms, co nie jest zbyt długie (nie sądzę, aby użytkownicy zauważyli opóźnienie <100ms). Czy mogę bezpiecznie zignorować to ostrzeżenie, czy też to ostrzeżenie spowoduje, że Apple odrzuci moją aplikację? – mattstuehler
W końcu ktoś podał kroki, jak znaleźć główną przyczynę. –
@mattstuehler może to być konieczne, gdy kod trwa dłużej niż oczekiwano lub po prostu zawiesza twój interfejs użytkownika. –