我正在使用ExternalAccessory
FW并能够将数据传递到外围设备。
我正面临一个奇怪的情况,当我试图将某些值保存到NSUserDefaults
时,我得到了这个(看起来像)无关的错误:
UISupportedExternalAccessoryProtocols = com.xxxxx.yyy.zz
2013-07-24 17:01:39.181 myApp[791:907] ERROR - opening session failed
2013-07-24 17:01:39.182 myApp[791:907] ERROR - /SourceCache/ExternalAccessory/ExternalAccessory-213.3/EASession.m:-[EASession dealloc] - 137 unable to close session for _accessory=0x2088cdb0 and sessionID=65536
与外围设备的连接已经死亡。
写入NSUserDefaults
的代码:
NSInteger transactionId = [[NSUserDefaults standardUserDefaults] integerForKey:kTransactionId];
transactionId = transactionId % NSIntegerMax + 1;
[[NSUserDefaults standardUserDefaults] setInteger:transactionId forKey:kTransactionId];
[[NSUserDefaults standardUserDefaults] synchronize];
如果我评论[[NSUserDefaults standardUserDefaults] setInteger:transactionId forKey:kTransactionId];
,一切正常......
有什么想法吗?
答案 0 :(得分:0)
NSUserDefaults在主线程中工作。也许你想要使用不同的东西,也许是一个NSMutableDictionary,然后你可以序列化到磁盘。