NSString中的断言失败* base :: deviceIdFromKeychain()(),/ Users / sparkit-buildidnt / buildAgent / work / 1e0ceaa77adfb2dc / client / base / _apple / _ios / os_ios.mm:287 2013-10-20 11:14:03.505 *由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'获取设备ID时出现钥匙串错误,不可恢复' * 第一次抛出调用堆栈: (0x30f0cf53 0x3b2366af 0x30f0ce2d 0x318b41df 0x2d142f 0x2d1a09 0x2ce6db 0x17b1b5 0x1798b3 0x30ed81b9 0x30ed753b 0x30ed5e45 0x30e40ce7 0x30e84803 0x179b1d 0x318efe27 0x3b85dc1d 0x3b85db8f 0x3b85bc90) libc ++ abi.dylib:以NSException类型的未捕获异常终止
抛出异常的方法是在SPSession.m类中:CFRunLoopRun();
+(void)runBackgroundRunloop:(dispatch_block_t)runLoopReadyBlock {
@autoreleasepool {
[NSThread currentThread].name = @"com.spotify.CocoaLibSpotify";
[runloopReadyLock lock];
libspotify_runloop = CFRunLoopGetCurrent();
sleep(1);
libspotifyThread = [NSThread currentThread];
// Use a custom, no-op run loop source to keep the loop alive and fast.
CFRunLoopSourceContext libspotify_source_context;
memset(&libspotify_source_context, 0, sizeof(CFRunLoopSourceContext));
libspotify_runloop_source = CFRunLoopSourceCreate(NULL, 0, &libspotify_source_context);
CFRunLoopAddSource(libspotify_runloop, libspotify_runloop_source, kCFRunLoopDefaultMode);
[runloopReadyLock unlockWithCondition:1];
CFRunLoopRun();
CFRelease(libspotify_runloop_source);
CFRelease(libspotify_runloop);
libspotify_runloop_source = NULL;
libspotify_runloop = NULL;
libspotifyThread = nil;
}
}
我不知道导致错误的原因或解决方法。有没有人对此有任何想法?
谢谢,
答案 0 :(得分:1)
确保您使用的是最新版本的CocoaLibSpotify(2.4.5)。
此外,单元测试如何运行?你的应用运行正常吗? CocoaLibSpotify自己的单元测试套件是否运行?值得注意的是,在解锁设备之前,CocoaLibSpotify无法访问Keychain。