【问题标题】:Why am I getting this CPSqliteStatementPerform error in xcode console为什么我在 xcode 控制台中收到此 CPSqliteStatementPerform 错误
【发布时间】:2011-08-22 02:30:41
【问题描述】:

我在 xcode 控制台中收到以下错误,但我不知道它在抱怨什么只读数据库:

CPSqliteStatementPerform: attempt to write a readonly database for UPDATE ddd.ext_container SET orig_date_modified = (SELECT date_modified FROM container WHERE pid=container_pid) WHERE orig_date_modified=0
CPSqliteStatementReset: attempt to write a readonly database for UPDATE ddd.ext_container SET orig_date_modified = (SELECT date_modified FROM container WHERE pid=container_pid) WHERE orig_date_modified=0

以下代码在错误之前执行:

MPMediaQuery *myPlaylistsQuery = [MPMediaQuery playlistsQuery];
NSArray *array = [myPlaylistsQuery collections];
playlists = [[NSMutableArray alloc] init];
[playlists addObject:@"new playlist"];
NSLog(@"%@", [playlists objectAtIndex:0]);

int numPlaylists = 1;
for (MPMediaPlaylist *arrayItem in array) {
    NSLog(@"Got here");

NSLog 打印“新播放列表”

然后 CPSqliteStatementPerform: 和 CPSqliteStatementReset: 在 for 循环初始化后立即打印错误。

然后 NSLog 打印 'Got here'。

我正在编写什么只读数据库,如何更正?

【问题讨论】:

  • 杰夫,你有没有发现是什么原因造成的。我有一个类似的问题,一直无法找到解决方案。比尔
  • 不,我从来没弄明白。仍然希望有人有解决方案。
  • 我只是在想,当您将 MPMediaItems 放入数组时可能会引发错误,因为您正在尝试复制它们?想法?

标签: objective-c ios sqlite


【解决方案1】:

设备似乎认为您正在尝试写入这些位置。我正在做一个类似的项目,并在 Organizer 中打开我的 iPhone 控制台以查看发生了什么。 以下是我尝试获取 MPMediaItems 的属性时显示的行:

May 27 22:11:04 unknown sandboxd[2512] <Notice>: QueryTesting(2510) deny file-write-mode /private/var/mobile/Media/iTunes_Control/iTunes/iTunes Library.itlp/Library.itdb
May 27 22:11:04 unknown sandboxd[2512] <Notice>: QueryTesting(2510) deny file-write-data /private/var/mobile/Media/iTunes_Control/iTunes/iTunes Library.itlp/Library.itdb
May 27 22:11:04 unknown sandboxd[2512] <Notice>: QueryTesting(2510) deny file-write-data /private/var/mobile/Media/iTunes_Control/iTunes/iTunes Library.itlp/Dynamic.itdb
May 27 22:11:04 unknown sandboxd[2512] <Notice>: QueryTesting(2510) deny file-write-data /private/var/mobile/Media/iTunes_Control/iTunes/iTunes Library.itlp/Extras.itdb
May 27 22:11:04 unknown sandboxd[2512] <Notice>: QueryTesting(2510) deny file-write-data /private/var/mobile/Media/iTunes_Control/iTunes/iTunes Library.itlp/DBTemp/ddd.itdbm

即使我只是检查值是什么,它认为我正在尝试在那里写。可能的错误?

编辑: 这是一个错误,正如这里所讨论的 --->> https://devforums.apple.com/message/428584#428584

【讨论】:

    【解决方案2】:

    当我开始使用 Settings.bundle root.plist 文件时,这开始发生在我的应用程序中。 当我删除它时它消失了。

    认为 NSUserDefaults.StandardUserDefaults 有问题......

    现在我将忽略此消息,并将我的应用程序的更新发送给苹果。

    【讨论】:

    • 嗯。那很有意思。但不幸的是,我有点需要 Settings.bundle。
    猜你喜欢
    • 2022-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 2018-10-08
    相关资源
    最近更新 更多