我制作了一个应用程序,它使用DropBox SDK for iPhone连接到用户保管箱帐户并上传文件。我使用的是XCode 3.2.5,iPhone模拟器是4.2。我的应用程序在模拟器上工作得很好,但是当我在设备上试用它时崩溃了。以下是崩溃的代码行
DBSession* dbSession = [[[DBSession alloc]
initWithAppKey:kDropBoxAppKey
appSecret:kDropBoxAppSecret
root:kDBRootAppFolder] autorelease];
当我尝试调试时,它无法识别对象kDBRootAppFolder。
我检查了这个变量的定义位置,它位于名为“DBSession.h”的DropBox SDK的文件中
extern NSString *kDBRootAppFolder;
当我尝试调试并运行它时,我发现它显示kDBRootAppFolder属于未知类型。
然后,我尝试在模拟器上进行调试,它运行得很完美,当我打印它时,kDBRootAppFolder的值是'沙盒'。
我真的不知道为什么设备中会发生这种运行时错误。请帮忙。
答案 0 :(得分:0)
通常在对象在不良时间释放时发生。
试试这个,请注意kDBRootAppFolder
DBSession* dbSession = [[[DBSession alloc]
initWithAppKey:kDropBoxAppKey
appSecret:kDropBoxAppSecret
root:[kDBRootAppFolder retain]] autorelease];
如果不起作用,请在dbSession启动之前和之后使用NSLog(@"%@", kDBRootAppFolder);
来检查是否正确定义。