2015-01-15 3 views
0

Я пытаюсь создать приложение cordova для iOS. То же приложение, которое мы используем для android. Я просто попытался добавить плагин iOS и запустить приложение. Я добавил код ниже в CDVDevice.h.Приложение Кордовы для iOS с плагинами

http://developmobilesoftware.blogspot.in/2013/12/the-unique-identifier-in-ios-app-udid.html

Я получаю исключение и мой след, как в:

+[CDVDevice uniqueIDForDevice] : unrecognized selector sent to class 0xf30c4 
** WebKit discarded an uncaught exception in the webView: decidePolicyForNavigationAction:request:frame:decisionListener:delegate"<NSInvalidArgumentException> +[CDVDevice uniqueIDForDevice]: unrecognized selector sent to class 0xf30c4 

Пожалуйста, помогите я новичок в программировании IOS.

Спасибо!

ответ

0

Прежде всего, редактирование CDVDevice не является хорошей идеей

Но вы можете сделать две разные вещи, чтобы исправить код:

изменения [devProps setObject:[[self class] uniqueIDForDevice] forKey:@"uniqueid"];

в [devProps setObject:[self uniqueIDForDevice] forKey:@"uniqueid"];

или изменить -(NSString*)uniqueIDForDevice

до +(NSString*)uniqueIDForDevice

Объяснения, методы класса начинаются с +, методы экземпляра начинаются с -, вы объявили метод экземпляра, но вы называете его как метод класса, так что вы можете изменить метод класса для метода экземпляра изменяя - к + или сохранить это как метод экземпляра и назвать его как метод экземпляра только с self вместо [self class]

Во всяком случае, как я уже говорил ранее, вместо editting плагина устройства, вы можете использовать свой идентификатор поставщика плагин

https://github.com/jcesarmobile/IDFVPlugin

window.IDFVPlugin.getIdentifier(function(identifier){ alert(identifier); },function(error){ alert(error); }); 
+0

Спасибо! Мне любопытно узнать, в чем проблема с моим кодом. [devProps setObject: [[self class] uniqueIDForDevice] forKey: @ "uniqueid"]; вот как я пытаюсь получить доступ к методу и добавил его в device.js – Programmer

+0

, а затем опубликовать весь код, который вы используете, а не ссылку на сообщение в блоге – jcesarmobile

+0

In - (NSDictionary *) deviceProperties из CDVDevice.h добавил line [devProps setObject: [[self class] uniqueIDForDevice] forKey: @ "uniqueid"]; и в device.js me.uniqueid = info.uniqueid; – Programmer

Смежные вопросы