我有一个应用程序,可以在成功登录后从100多个API中下载大量数据。我成功下载了数据,然后使用iExplorer从完全加载的应用程序中提取数据容器文件夹(Documents,Library和Tmp)。
我想以.ipa格式获取原始应用程序的空白版本,并将这些数据容器文件夹插入到完全加载的.ipa文件中。然后我将能够使用这个新的满载.ipa,并使用部署软件将其部署到一堆本地用户的设备。所以每个人都有这个满载的应用程序。
拜托,有没有人这样做过?请提供一些反馈,不要与我的方法论争论,因为这是由于需求而这样做的。也许有一个我缺少的一步?我不确定。
答案 0 :(得分:1)
使用源代码,您可以在模拟器中运行应用程序(不需要iExplorer),等待它下载所有文件并浏览到安装该应用程序的计算机上的文件夹。
从那里你可以放下你想要的任何文件以及它们各自的文件夹。如果你正在使用Coredata,那里应该有一个SQLITE数据库文件(通常在你的Application Support
文件夹中),这可能就是你所需要的,但是如果不查看你的实现细节就很难说。
如果您需要预留文件,请通过Xcode将它们添加到应用程序包中并创建代码以检查文件是否已存在(在这种情况下您不想替换它们),如果不是捆绑包中所需的所有文件到各自的文件夹中。
这里有一些半伪代码:
NSDictionary *userPrefs = [[NSUserDefaults standardUserDefaults] objectForKey:self.email];
if (![userPrefs[kInitialSetupCompleted] boolValue])
NSFileManager *fileManager = [NSFileManager defaultManager];
NSURL *destinationFilePath = ...
NSURL *seedFilePath = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:kCoreDataStoreName ofType:nil]];
NSError* err = nil;
if (![fileManager copyItemAtURL:seedPath toURL:destinationFilePath error:&err]) {
NSLog(@"Could not copy seed data. error: %@", err);
// Deal with error
} else {
// Set user defaults kInitialSetupCompleted to YES
}
}