// // ZGApk_String.m // UUTUtils // // Created by zhuge on 2017/12/28. // Copyright © 2017年 zhuge. All rights reserved. // #import "ZGApk_String.h" #import "ZGApk.h" #define key_item_umengKey @"um_key" #define key_item_umengChannel @"um_channel" #define key_item_facebook_app_id @"facebook_app_id" @implementation ZGApk_String -(id)initWithApk:(ZGApk *)apk { self.apk = apk; self.path = [NSString stringWithFormat:@"%@/res/Values/strings.xml", self.apk.path]; return self; } - (void)save { [[self.doc XMLData] writeToFile:self.path atomically:YES]; } #pragma mark setter - (void)setAppName:(NSString *)appName { [self setStringValue:appName forKey:self.apk.manifest.appNameName]; } - (void)setUmengKey:(NSString *)umengKey { [self setStringValue:umengKey forKey:key_item_umengKey]; } - (void)setUmengChannel:(NSString *)umengChannel { [self setStringValue:umengChannel forKey:key_item_umengChannel]; } - (void)setFacebookAppId:(NSString *)facebookAppId { [self setStringValue:facebookAppId forKey:key_item_facebook_app_id]; } - (void)setStringValue:(NSString*)value forKey:(NSString*) key { NSArray *arr_strings = [self.root elementsForName:@"string"]; for (GDataXMLElement *stringElement in arr_strings) { if ([key isEqualToString:[stringElement attributeForName:@"name"].stringValue]) { stringElement.stringValue = value; } } } #pragma mark getter - (GDataXMLDocument *)doc { if (_doc) { return _doc; } else { NSData *xmlData = [NSData dataWithContentsOfFile:self.path]; self.doc = [[GDataXMLDocument alloc] initWithData:xmlData error:nil]; return _doc; } } - (GDataXMLElement *)root { if (_root) { return _root; } else { return self.doc.rootElement; } } @end