上篇 我说了描述文件的本质。这篇很短,我贴一下关键的代码就好了。
对描述文件的操作就是简单的NSDictionary的操作。
我的描述文件是对APN进行设置的,需要对其他进行设置的可以参考。APN最多有5个参数,我这里写了3个。
1 NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"kAPN" ofType:@"mobileconfig"];/*读取app内的文件*/ 2 NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath]; 3 NSMutableDictionary * config = [data mutableCopy]; 4 5 /* apns part */ 6 NSMutableDictionary * apns = config[@"PayloadContent"][0][@"PayloadContent"][0][@"DefaultsData"][@"apns"][0]; 7 [apns setObject:APNModel.apnName forKey:@"apn"]; 8 [apns setObject:APNModel.userName forKey:@"username"]; 9 [apns setObject:APNModel.passWord forKey:@"password"]; 10 /* UUID part */ 11 // 负载的 uuid 12 NSString * uuid = config[@"PayloadContent"][0][@"PayloadUUID"]; 13 uuid = [CUManager configUUID]; 14 // 文件的 uuid 15 NSString * fileuuid = config[@"PayloadUUID"]; 16 fileuuid = APNModel.fileName; 17 18 // file path 沙盒路径 19 NSString *documentsDirectory =[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 20 NSString *filename = [ documentsDirectory stringByAppendingPathComponent:@"XXAPN.mobileconfig"]; 21 22 /* 打印一下 将要存进去的数据 */ 23 NSMutableDictionary *data1 = [[NSMutableDictionary alloc] initWithContentsOfFile:filename]; 24 NSLog(@"%@", data1); 25 26 // write to file 写到沙盒里面 27 [config writeToFile:filename atomically:YES];
我没有贴完整的代码 我希望需要的朋友自己Coding一下。这个项目的code真的很少,不到1000行。
下一篇是比较重要的地方:建立本地server, 让Safari来下载沙盒里面的文件。(Safari可以直接打开.mobileconfig文件)