0

Objective-C API のいくつかを簡単にテストしようとしていますが、SUP によって生成されたコードで未処理の例外に関する問題が発生しています。次のコードを使用して簡単なテストをセットアップしました。

+(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 への接続でこのような問題に遭遇した人はいますか? もしそうなら、どのようにそれを乗り越えましたか?

どんな助けでも大歓迎です!

4

1 に答える 1

0

クラスでライブラリ関数をオーバーライドしたときに、同様の例外が発生しました。

于 2011-07-25T20:22:52.870 に答える