AppSalesへの過去の売り上げ情報の取り込み
AppSales-Mobileに先日のRubyスクリプトでPCでバックアップしたファイルを取り込むためのコードを書いてみました。
1. AppSales-MobileのClasses/Controller/ReportManager.mの40行目あたりに次のコードを入れる。
NSString *path = [[NSBundle mainBundle] resourcePath]; NSArray *filenames_ = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:NULL]; for (NSString *filename in filenames_) { if (![[filename pathExtension] isEqual:@"txt"]){ continue; } NSString *fullPath = [path stringByAppendingPathComponent:filename]; NSString *text = [NSString stringWithContentsOfFile:fullPath encoding:NSUTF8StringEncoding error:NULL]; Day* day = [[Day alloc] initWithCSV:text]; if([filename length] == 14){ //MM_DD_YYYY.txt day.name = [NSString stringWithFormat:@"%@/%@/%@", [filename substringWithRange:NSMakeRange(0, 2)], [filename substringWithRange:NSMakeRange(3, 2)], [filename substringWithRange:NSMakeRange(6, 4)] ]; }else{ //MM_DD_YYYY to MM_DD_YYYY.txt day.name = [NSString stringWithFormat:@"%@/%@/%@", [filename substringWithRange:NSMakeRange(14, 2)], [filename substringWithRange:NSMakeRange(17, 2)], [filename substringWithRange:NSMakeRange(20, 4)] ]; day.isWeek = YES; } NSString *f = [[self docPath] stringByAppendingPathComponent:[day proposedFilename]]; [NSKeyedArchiver archiveRootObject:day toFile:f]; }
2. Resourcesにバックアップしたtxtをコピー。
3. 変更済みのAppSales-Mobileでいったん立ち上げる -> AppSales-MobileのDay形式のファイルがDocumentsディレクトリに作成されます
4. 変更されたAppSales-Mobileに、通常版のAppSales-Mobileを上書きして利用する
という手順で、いい感じにAppSales-Mobileを使えるかなぁ。