我试图简单地测试一些Objective-c API,但是我在由SUP创建的生成的代码中遇到了一些未处理的异常问题。我已经建立了用下面的代码进行简单的测试:iOS生成的代码中的未处理的异常
+(void)testPersonalizationKeys
{
TaskTracker_PersonalizationParameters *pp = nil;
pp = [TaskTracker_TaskTrackerDB
getPersonalizationParameters];
pp.username = @"************";
pp.password = @"************";
[pp save];
while([TaskTracker_TaskTrackerDB hasPendingOperations])
{
[NSThread sleepForTimeInterval:1];
}
[self printLogs];
}
我把从主这个静态方法和运行应用程序,但应用程序与此消息终止:
Terminating app due to uncaught exception 'SUPReadWriteLock error', reason: 'attempt to unlock when not locked'
下面是完整的堆栈轨道:
*** Call stack at first throw:
(
0 CoreFoundation 0x00a685a9 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x018fc313 objc_exception_throw + 44
2 TaskTracker 0x000c4b29 -[SUPReadWriteLock unlock] + 118
3 TaskTracker 0x00067356 +[TaskTracker_SubscriptionStatusfind:inTable:] + 1590
4 TaskTracker 0x00066d09 +[TaskTracker_SubscriptionStatusfind:] + 73
5 TaskTracker 0x00071256 -[TaskTracker_TaskTrackerDB packageIsSubscribed] + 70
6 TaskTracker 0x0006d561 +[TaskTracker_TaskTrackerDB packageHasSubscription] + 81
7 TaskTracker 0x00063981 -[TaskTracker_PersonalizationParameters save] + 1617
8 TaskTracker 0x00072f22 +[SampleApp testPersonalizationKeys] + 178
9 TaskTracker 0x00072a60 +[SampleApp runAPITests] + 272
10 TaskTracker 0x000023ea main + 138
11 TaskTracker 0x00002355 start + 53
)
有没有人遇到类似这样的事情与iOS到SUP连接?如果是这样,你是怎么过去的?
任何帮助表示赞赏!
有没有听说过@try和@catch块? – Macmade
是的。问题是这段代码应该是黑盒子。我不应该碰它。我希望我不必“打破保修”,但它可能是我唯一的选择。 – janarde