我試圖簡單地測試一些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