Tidak ada yang salah dengan kode Anda. Ini adalah pesan logging internal ke Apple, dan Anda harus mengajukan radar tentang hal itu.
Ada dua petunjuk yang menunjukkan bahwa ini mungkin kode Apple:
Garis bawah yang memimpin nama metode _handleNonLaunchSpecificActions:forScene:withTransitionContext:completion
adalah konvensi yang menunjukkan bahwa metode ini bersifat pribadi / internal untuk kelas yang dideklarasikan. (Lihat komentar ini .)
Masuk akal untuk menebak bahwa dua awalan huruf dalam FBSSceneSnapshotAction
adalah singkatan untuk FrontBoard, yang menurut Rene Ritchie dalam " daftar keinginan iOS 9: Mode Tamu" adalah bagian dari seluruh keluarga perangkat lunak yang terkait dengan meluncurkan aplikasi:
Dengan iOS 8, Apple merevisi manajer sistemnya, SpringBoard, menjadi beberapa komponen yang lebih kecil dan lebih fokus. Selain BackBoard, yang sudah dipintal untuk menangani tugas latar belakang, mereka menambahkan Frontboard untuk tugas latar depan. Mereka juga menambahkan PreBoard untuk menangani layar Kunci dalam kondisi aman dan terenkripsi. [...]
Saya tidak tahu untuk apa BS
awalan BSSettings
ini, tetapi analisis pesan log ini akan menunjukkan bahwa itu bukan apa-apa yang Anda lakukan, dan Anda harus mengajukan radar dengan langkah-langkah untuk mereproduksi pesan logging.
Jika Anda ingin mencoba dan mengambil jejak tumpukan, Anda dapat menerapkan kategori yang ditautkan ke sini . Beberapa orang akan berpendapat bahwa menimpa API pribadi adalah ide yang buruk, tetapi dalam hal ini injeksi sementara untuk mengambil jejak stack tidak bisa terlalu berbahaya.
EDIT:
Tapi, kami masih ingin tahu apa tindakan ini. Jadi saya meletakkan breakpoint -[UIApplication _handleNonLaunchSpecificActions:forScene:withTransitionContext:completion]
dan mulai mencetak nilai register dan menemukan kelas bernama FBSceneImpl
yang memiliki banyak informasi tentang aplikasi saya:
Kami dapat mengetahui metode privat mana yang disebut selanjutnya (disimpan di konter program, daftar 15.)
Saya mencoba menemukan FBSceneSnapshotAction
referensi yang tidak ditangani di log, tetapi tidak ada dadu. Kemudian, saya subklasifikasi aplikasi UIA, dan mengesampingkan _handleNonLaunchSpecificActions:forScene:withTransitionContext:completion
. Sekarang saya bisa melakukan aksi secara langsung, tapi tetap saja, kita tidak tahu apa itu.
Kemudian, saya melihat FBSceneSnapshotAction lagi. Ternyata itu memiliki superclass bernama BSAction
.
Lalu saya menulis alat yang mirip dengan RuntimeBrowser dan mencari semua subclass dari BSAction. Ternyata ada cukup banyak dari mereka:
Dua nama metode yang kita miliki (satu dari log dan satu dari penghitung program pada perangkat) menunjukkan bahwa tindakan ini digunakan di bawah tenda untuk melewati tindakan di sekitar sistem.
Beberapa tindakan mungkin dikirim ke callback delegasi aplikasi, sementara yang lain ditangani secara internal.
Apa yang terjadi di sini adalah bahwa ada tindakan yang tidak ditangani dengan benar dan sistem memperhatikannya. Kami seharusnya tidak melihatnya, rupanya.