Ich verwende Phonegap 3 und das Media-Plugin. Ich halte diese Fehler bekommen, wenn auf iOS meine App testen:Phonegap "['Media'] Plugin sollte einen Hintergrund-Thread verwenden."
THREAD WARNING: ['Media'] took '205.391846' ms. Plugin should use a background thread.
Ich habe dies aus der phonegap Dokumentation gesehen (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];
}];
}
dies in meiner app gehen Ist, wie es ist, oder tun Ich muss es für jedes Plugin bearbeiten? Wo soll ich es hinstellen?
Ich habe ein paar Beiträge online darüber gesehen, aber keine mit einer klaren Antwort, wie man den obigen Code verwendet.
Vielen Dank für diese sehr klare, detaillierte Antwort! Aber Frage ... Ist es notwendig, *** dies zu tun? Xcode bietet diese Warnung für jeden Plugin-Aufruf, der länger als 10ms dauert, was nicht sehr lang ist (ich glaube nicht, dass Benutzer eine <100ms Verzögerung bemerken). Kann ich diese Warnung ignorieren oder wird Apple aufgrund dieser Warnung meine App ablehnen? – mattstuehler
Schließlich hat jemand Schritte gegeben, um die Ursache zu finden. –
@mattstuehler dies kann manchmal notwendig sein, wenn der Code länger als erwartet dauert oder nur Ihre Benutzeroberfläche einfriert. –