0

我制作了一个应用程序,它使用 iPhone 的 DropBox SDK 连接到用户的保管箱帐户并上传文件。我使用的是 XCode 3.2.5,而 iPhone 模拟器是 4.2。我的应用程序在模拟器上运行良好,但是当我在设备上尝试时它崩溃了。以下是它崩溃的代码行

DBSession* dbSession = [[[DBSession alloc] 
                                 initWithAppKey:kDropBoxAppKey 
                                 appSecret:kDropBoxAppSecret 
                                 root:kDBRootAppFolder] autorelease];

当我尝试调试时,它无法识别对象 kDBRootAppFolder。

我检查了这个变量的定义位置,它位于 DropBox SDK 的一个名为“DBSession.h”的文件中

extern NSString *kDBRootAppFolder;

当我尝试调试和运行它时,我发现它显示 kDBRootAppFolder 是未知类型。

然后,我尝试在模拟器上进行调试,它运行完美,当我打印它时,kDBRootAppFolder 的值是“沙盒”。

我真的不知道为什么设备中会出现此运行时错误。请帮忙。

4

1 回答 1

0

这通常发生在对象在错误的时间释放时。

试试这个,注意保留在kDBRootAppFolder

DBSession* dbSession = [[[DBSession alloc] 
                                 initWithAppKey:kDropBoxAppKey 
                                 appSecret:kDropBoxAppSecret 
                                 root:[kDBRootAppFolder retain]] autorelease];

如果它不起作用,NSLog(@"%@", kDBRootAppFolder);请在启动 dbSession 之前和之后使用以检查是否正确定义。

于 2012-06-29T11:43:41.130 回答