我有一个用户正在使用iPhone应用商店版本的iPhone应用程序崩溃.通过iTunes连接不报告崩溃,用户无法与iTunes同步并获取.crash文件(他们没有计算机).但是,用户可以在"设置>常规>关于>诊断和使用数据"下从手机复制并粘贴崩溃报告.
我将此用户复制的崩溃报告并手动粘贴到文本文件中,并使用.crash扩展名重命名.当我将此手动创建的.crash报告导入XCode的管理器时,我无法对其进行符号化.我正在使用生成应用程序商店二进制文件的相同XCode副本,并且ipa已存档,并且我能够表示来自iTunes连接的崩溃.
是否期望手动创建的.crash文件不会符号化或者我做错了什么?任何帮助将非常感激!
谢谢!
****更新****我也无法使用此处的步骤来表示崩溃报告:符号化iPhone App崩溃报告.
****更新2****以下是崩溃报告:
Incident Identifier: 3A2A3D26-1E44-46AA-9777-658EBBBEDD57
CrashReporter Key: a9eadbf28904a2c3b4d285c7455db9ae06a5a555
Hardware Model: iPhone5,1
Process: MyApp [1180]
Path: /var/mobile/Applications/0B09C692-7C36-4398-AC77-4217401E0FC/MyApp.app/MyApp
Identifier: MyApp
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2013-02-12 18:45:15.066 -0500
OS Version: iOS 6.1 (10B143)
Report Version: 104
Exception Type: 00000020
Exception Codes: 0x000000008badf00d
Highlighted Thread: 0
Application Specific Information:
com.company.MyApp failed to resume in time
Elapsed total CPU time (seconds): 0.800 (user 0.800, system 0.000), 4% CPU …Run Code Online (Sandbox Code Playgroud) 我正在使用骨干本地存储并遇到一些奇怪的行为.
我有一个定义,实例化和获取的模型和集合:
MyModel = Backbone.Model.extend({
localStorage: new LocalStore('example-myModels')
//note: LocalStore = Backbone.LocalStore -> https://github.com/jeromegn/Backbone.localStorage
});
MyCollection = Backbone.Collection.extend({
model : MyModel,
localStorage: new LocalStore('example-myModels')
});
var myCollection = new MyCollection();
myCollection.fetch(...);
Run Code Online (Sandbox Code Playgroud)
然后,此集合将作为列表显示给用户.用户可以将一个项目"添加"到集合中,最终生成此代码:
var newModel = new MyModel();
newModel.save(newModelAttributes, {
success: function(newlySavedModel) {
myCollection.add(newlySavedModel);
}
);
Run Code Online (Sandbox Code Playgroud)
此时myCollection具有新添加的模型,我可以看到在localStorage数据库中成功创建的记录:
预先保存LocalStorage:

保存后的LocalStorage:

用户添加记录后的下一步是返回列表,此时再次获取集合:
myCollection.fetch();
Run Code Online (Sandbox Code Playgroud)
现在myCollection 不再包含新记录.无论我获取多少次,都不会检索新记录 - 即使我可以在localStorage数据库中看到它.我也尝试创建一个新的Collection实例并获取它,但它产生相同的结果.如果我重新加载浏览器,新记录将按预期显示.任何人都知道发生了什么事吗?我觉得我错过了一些基本的东西......
此处提供了一个重现问题的运行示例:http: //jsbin.com/iyorax/2/edit (确保控制台可见,然后单击"使用JS运行")
提前致谢!
我一直在努力将iCloud存储迁移到应用程序沙箱中的本地存储.代码如下所示(为清楚起见,错误处理代码已被删除):
NSPersistentStore *iCloudStore = [_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:legacyStoreUrl options:options error:&error];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSURL *targetStoreUrl = [self localStorageUrl];
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption,
nil];
[_persistentStoreCoordinator migratePersistentStore:legacyStore toURL:targetStoreUrl options:options withType:NSSQLiteStoreType error:nil];
Run Code Online (Sandbox Code Playgroud)
此时我们已成功将iCloud存储迁移到应用程序沙箱中的新位置,但iCloud和旧的sqlite文件中仍有数据...以下行删除了sqlite文件
[fileManager removeItemAtURL:legacyStoreUrl error:nil]
Run Code Online (Sandbox Code Playgroud)
因此,在运行所有这些后,我的文件系统和持久性商店看起来很好,据我所知.缺少的一点是存储在iCloud中的数据不会从iCloud中删除(尽管应用程序不再访问它).以编程方式删除iCloud数据还需要做些什么?苹果iCloud文档提到删除事务日志但我没有看到我的Documents文件夹中需要清理的任何其他文件.任何帮助深表感谢!
更新:
最初使用以下选项设置iCloud存储:
NSURL *ubiquityContainerUrl = [fileManager URLForUbiquityContainerIdentifier:nil];
NSString* coreDataCloudContent = [[ubiquityContainerUrl path] stringByAppendingPathComponent:@"data"];
NSURL *coreDataUrl = [NSURL fileURLWithPath:coreDataCloudContent];
options = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption,
@"MyAppName.store", NSPersistentStoreUbiquitousContentNameKey,
coreDataUrl, NSPersistentStoreUbiquitousContentURLKey,
nil];
Run Code Online (Sandbox Code Playgroud)