3

TestFlightSDKに奇妙な問題があります。iPhone5でこの例外が発生し、アプリがクラッシュしました。

バックトレースは次のとおりです。

Reason: -[__NSArrayM length]: unrecognized selector sent to instance 0x20c76d80
UserInfo: (null)
Backtrace: (0x3abbc2a3 0x34aab97f 0x3abbfe07 0x3abbe531 0x3ab15f68 0x3591b0c1 0x996eb     0xb2b83 0x97b21 0x973ed 0x75913 0x83657 0x839e7 0x38eaf11f 0x38eb3961 0x38eb3ac1 0x35c18a11 0x35c188a4)
Stack symbols: (
0   CoreFoundation                      0x3abbc2bb <redacted> + 186
1   libobjc.A.dylib                     0x34aab97f objc_exception_throw + 30
2   CoreFoundation                      0x3abbfe07 <redacted> + 170
3   CoreFoundation                      0x3abbe531 <redacted> + 392
4   CoreFoundation                      0x3ab15f68 _CF_forwarding_prep_0 + 24
5   Foundation                          0x3591b0c1 <redacted> + 160
6   FlyerApp                            0x000996eb +[TFAirTrafficController logPath] + 102
7   FlyerApp                            0x000b2b83 -[TFMessagePackLogOperation writeLogData] + 50
8   FlyerApp                            0x00097b21 TFLogv + 92
9   FlyerApp                            0x000973ed TFLog + 60
10  FlyerApp                            0x00075913 -[KFRemoteLoadManager changesRequestFromDate:forDelegate:] + 834
11  FlyerApp                            0x00083657 -[KFSyncManager _startSync] + 574
12  FlyerApp                            0x000839e7 __31-[KFSyncManager tryToStartSync]_block_invoke_0132 + 54
13  libdispatch.dylib                   0x38eaf11f <redacted> + 10
14  libdispatch.dylib                   0x38eb3961 <redacted> + 252
15  libdispatch.dylib                   0x38eb3ac1 <redacted> + 84
16  libsystem_c.dylib                   0x35c18a11 <redacted> + 360
17  libsystem_c.dylib                   0x35c188a4 start_wqthread + 8
)

この例外を引き起こすコードは次のとおりです。

NSString *urlString = [NSString stringWithFormat:BASE_URL, [[KFLocalDataManager sharedManager] serverName]];
urlString = [[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] stringByAppendingString:methodName];
NSURL *url = [NSURL URLWithString:urlString];
TTLog(@"Request URL - '%@'", url);

TTLogはどこにありますか

#define TTLog(__FORMAT__, ...) TFLog((@"%s [Line %d] " __FORMAT__), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);

url文字列は次のようなサーバーへのURLです。

https://xxxxxx.xxxxxxx.com/xxxxx_xxxx/xxxx

このエラーは毎回発生するわけではありませんが、常にこの場所で発生します。いくつかのクラッシュがありますが、同じクラッシュの問題すべてについて同様の環境を見ることができません。また、このコードはメインのアプリスレッドではなく、iOSのバックグラウンドで実行されます。

たぶん、TFLogには着信パラメーターにいくつかの制限があるか、誰かがTestFlightで同じまたは同様の例外を受け取りますか?

4

1 に答える 1

3

SDKのTestFlightで働いています。@Nevirは正しいです。残念ながら、TFLogはスレッドセーフではありません。この問題は最近私たちの注意を引いた。私はこの問題を修正するアップデートに取り組んでおり、すぐにベータ版をリリースすることを望んでいます。私はあなたを最新の状態に保ちます。

この問題を修正する新しいベータ版があります:1.3.0-ベータ版。ここで入手してください:https ://testflightapp.com/sdk/download/ (「FeelingAdventurous?」を探してください)

于 2013-03-07T03:11:30.360 に答える