iOS开发交流群:484884085
欢迎大家加入!
我们做一个简单的获取设备信息的demo,分两篇文章写完,分为原生部分和js部分
原生部分代码
头文件
#import <Cordova/CDV.h>
@interface CDVGetDeviceInfo : CDVPlugin
-(void)deviceInfo:(CDVInvokedUrlCommand *) command;
@end
实现文件
#import "CDVGetDeviceInfo.h"
@implementation CDVGetDeviceInfo
-(void)deviceInfo:(CDVInvokedUrlCommand *) command
{
[self.commandDelegate runInBackground:^{
//获取到调用的命令的唯一ID
NSString *callBackID = command.callbackId;
//得到传过来的数据的值
// NSArray *arrs = command.arguments;
// NSLog(@"js传来的参数%@",arrs);
UIDevice * device = [UIDevice currentDevice];
NSMutableDictionary * deviceMore = [NSMutableDictionary dictionary];
[deviceMore setObject:device.name forKey:@"name"];
[deviceMore setObject:device.model forKey:@"model"];
[deviceMore setObject:device.localizedModel forKey:@"localizedModel"];
[deviceMore setObject:device.systemName forKey:@"systemName"];
[deviceMore setObject:device.systemVersion forKey:@"systemVersion"];
[deviceMore setObject:device.identifierForVendor.UUIDString forKey:@"identifierForVendor"];
//配置返回值
CDVPluginResult *result = nil;
//判断command传递过来的数组是否有值
//if (command.arguments.count) {
result = [CDVPluginResult resultWithStatus:(CDVCommandStatus_OK) messageAsDictionary:[deviceMore copy]];
// } else {
// result = [CDVPluginResult resultWithStatus:(CDVCommandStatus_OK) messageAsString:@"获取参数错误"];
//}
//通过调用代理发送插件的结果给对应的ID
[self.commandDelegate sendPluginResult:result callbackId:callBackID];
}];
}
@end
方法实现只能改方法名,后面的参数是必须的
-(void)deviceInfo:(CDVInvokedUrlCommand *) command;