Intereting Posts
Fetch Имя и номер Список контактов Адресная книга Не удалось вызвать dequeueReusableCellWithReuseIdentifier внутри коллекцииView (collectionView: collectionViewLayout: sizeForItemAtIndexPath) Можно ли хранить логические булевы в JSON с классом NSJSONSerialization? Уменьшить время загрузки файла html в приложении iOS phonegap? Составные утверждения в Objective-C Как интегрировать одно приложение iphone в другое приложение iOS локализованные строковые константы для временных символов («MINUTE (S)», «HOUR (S)» и т. д.) Извлечь UIImage с помощью пути HTTP-кеширование работает правильно для GET, но не для HEAD (никогда не получайте 304 для HEAD на iOS 7.1) Как получить прямые сообщения из учетной записи Twitter Построение NSInvocation с блочным аргументом Swift: как получить доступ к изменяемому массиву строк из одного UIViewController в файл ячейки TableView Камера iOS правильно вращается в сафари, но не в режиме веб-приложения? Устанавливать значение в случайном режиме ViewController (случайный сегмент) iPad: UIButton требует много попыток нажатия, чтобы поймать действие

ПРЕДУПРЕЖДЕНИЕ THREAD: взял '290.006104' ms. Плагин должен использовать фоновый поток

Я Phonegap приложение Phonegap для IOS. Я использовал plugin камеры Cordova для загрузки pic профиля. Мой пример кода:

 navigator.camera.getPicture(that.imageDataSuccessCallback, that.imageDataErrorCallback, { quality: 10, destinationType: 1, encodingType: 0, allowEdit: true, correctOrientation: true, sourceType:0 }); 

Когда я нажимаю на эту конкретную кнопку, я получаю предупреждение как

 THREAD WARNING: ['Camera'] took '290.006104' ms. Plugin should use a background thread. 

Это блокирует мое приложение. Может ли кто-нибудь предложить, как решить эту проблему?

Я не уверен, что вас беспокоит 290ms но если да, вы можете сделать следующее:

Так как navigator.camera.getPicture() в Camera.js вызывает метод команды -(void)takePicture:(CDVInvokeUrlCommand*)command в CDVCamera.m вам придется добавлять туда потоки .

Откройте CDVCamera.m и добавьте следующее до первой строки метода takePicture :

 [self.commandDelegate runInBackground:^{ 

end добавьте это после последней строки:

 }]; 

поэтому он должен выглядеть так:

 - (void)takePicture:(CDVInvokedUrlCommand*)command { [self.commandDelegate runInBackground:^{ NSString* callbackId = command.callbackId; NSArray* arguments = command.arguments; ... ... ... self.hasPendingOperation = YES; }]; } 

Вот ссылка для создания плагинов Кордовы с использованием фонового режима для РЕЗЬБЫ :