17

私のアプリケーションには、すべての連絡先とカレンダー イベントをワイプする機能があります。ストレステストを行っていない限り、正常に機能しています。

この間、次のユースケースを実行すると、デバイスの輝度が低下することが観察されました

  1. 連絡先やカレンダーに多くの記録があるように、Facebook、Gmail などのアカウントをデバイスと同期します。私たちの場合、約 477 の連絡先と 1500 以上のカレンダー イベントがありました。
  2. ワイプコマンドを与える
  3. ワイプ中にデバイスのスイッチをオフにし、再度オンにします。
  4. アプリケーションの設計に従って、保留中のコマンドがあるかどうかをサーバーに照会し、ワイプを再開します。
  5. アプリケーションのタブを切り替えると、デバイスの輝度が突然下がります。設定に行って明るさのレベルを確認しても、変更されていません。デバイスの明るさを変更するアプリケーションでは何もしていません。

これは私たちにとって奇妙で、簡単には理解できません。どなたか心当たりのある方、回答お願いします。

最初は、自動輝度がオンになっているため、iOS が変更しているのではないかと思っていました。したがって、アプリケーションがより多くの処理ジョブを実行している場合は、省電力のために実行している可能性があります。ただし、自動輝度がオフになっていても問題は解決しません。

2番目の問題は、デバイスをオフにしてオンにすると発生することです。したがって、オフにすると、デバッグセッションが失われます。理由を見つけるのがとても難しい

注:スイッチをオフにすることで、デバイスを完全にオフにすることを意味します。電源ボタンを長押しし、スライドしてデバイスの電源を切ります。また、連絡先のワイプ中に手順を実行してもクラッシュは発生しません。カレンダーイベントをワイプしているときにのみ発生します

詳細を追加します。上記の問題が発生した後もクラッシュします。以下はクラッシュレポートの詳細です

`Incident Identifier: 297BD243-B9D9-414F-A9FB-3C02CAAF8A89
CrashReporter Key:   e2ff53439e90b377dadf9c750793f23cac739930
Hardware Model:      iPhone4,1
Process:         SpringBoard [293]
Path:            /System/Library/CoreServices/SpringBoard.app/SpringBoard
Identifier:      SpringBoard
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2013-03-21 16:30:25.137 +0530
OS Version:      iOS 6.1 (10B142)
Report Version:  104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread:  21

blah ... blah ... blah ... all thread info

Thread 21 name:  Dispatch queue: com.apple.eventkit.eventstore.registered
Thread 21 Crashed:
0   libsystem_kernel.dylib          0x396e8350 __pthread_kill + 8
1   libsystem_c.dylib               0x3965f11e pthread_kill + 54
2   libsystem_c.dylib               0x3969b96e abort + 90
3   libc++abi.dylib                 0x38c39d4a abort_message + 70
4   libc++abi.dylib                 0x38c36ff4 default_terminate() + 20
5   libobjc.A.dylib                 0x391eaa74 _objc_terminate() + 144
6   libc++abi.dylib                 0x38c37078 safe_handler_caller(void (*)()) + 76
7   libc++abi.dylib                 0x38c37110 std::terminate() + 16
8   libc++abi.dylib                 0x38c3850e __cxa_throw + 118
9   libobjc.A.dylib                 0x391ea9ba objc_exception_throw + 90
10  CoreFoundation                  0x314cd158 +[NSException raise:format:arguments:] + 96
11  Foundation                      0x31da2ab2 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 86
12  EventKit                        0x31bb1882 -[EKObjectID entityName] + 382
13  EventKit                        0x31bb1604 -[EKEventStore _addFetchedObjectWithID:] + 52
14  EventKit                        0x31bfb95e __68-[EKEventStore registerFetchedObjectWithID:defaultLoadedProperties:]_block_invoke_0 + 78
15  libdispatch.dylib               0x396014b4 _dispatch_client_callout + 20
16  libdispatch.dylib               0x396059f2 _dispatch_barrier_sync_f_invoke + 26
17  EventKit                        0x31bb150c -[EKEventStore registerFetchedObjectWithID:defaultLoadedProperties:] + 156
18  EventKit                        0x31c039ce __41-[EKPredicateSearch startWithCompletion:]_block_invoke_0 + 514
19  EventKit                        0x31bb8830 -[EKDaemonConnection _processReplyWithID:data:finished:] + 264
20  EventKit                        0x31bb871e CADReceiveReply + 94
21  EventKit                        0x31bb86a2 _XReply + 118
22  EventKit                        0x31bb8626 ClientCallbacks_server + 90
23  libdispatch.dylib               0x39609a02 dispatch_mig_server$VARIANT$mp + 114
24  EventKit                        0x31c00c84 __43-[EKDaemonConnection initWithOptions:path:]_block_invoke_016 + 36
25  libdispatch.dylib               0x39608134 _dispatch_source_invoke$VARIANT$mp + 248
26  libdispatch.dylib               0x3960691a _dispatch_root_queue_drain + 182
27  libdispatch.dylib               0x39606abc _dispatch_worker_thread2 + 80
28  libsystem_c.dylib               0x39636a0e _pthread_wqthread + 358
29  libsystem_c.dylib               0x396368a0 start_wqthread + 4


Thread 21 crashed with ARM Thread State (32-bit):
    r0: 0x00000000    r1: 0x00000000      r2: 0x00000000      r3: 0x3b1af534
    r4: 0x00000006    r5: 0x07494000      r6: 0x1f96a044      r7: 0x074932b4
    r8: 0x1f96a020    r9: 0x00000300     r10: 0x1f9594a0     r11: 0x1fa97b00
    ip: 0x00000148    sp: 0x074932a8      lr: 0x3965f123      pc: 0x396e8350
  cpsr: 0x00000010`

これについて何かご存知の方がいらっしゃいましたらご教授お願いいたします。

4

2 に答える 2

1

これはアプリのクラッシュとは関係がなく、デバイスが過熱したときに iOS に組み込まれることを意図した機能だと思います。

これは他のアプリでも発生しており、通常は次の場合に発生します。

  1. アプリがほぼ 100% の CPU を使用している (熱が発生する)
  2. 熱が逃げない(カバーを使用したり、電話を布の上に置いたりする)
  3. デバイスも充電中です(追加の熱が発生します)

ログを記録するためにデバイスが接続されているようです。Mac に接続せずにストレス テストを行い、違いがあるかどうかを確認してください。

于 2015-03-18T03:29:41.827 に答える
0

デバイスの電源をオフにするときは、環境光センサーに入る光の量を変更していないことを確認してください。私は以前にこのような動作に気づき、OS に代わって実装された光センシングが不十分であることに起因すると考えました。

于 2013-03-25T23:27:47.913 に答える