Сбой CMotionManager при создании экземпляраIOS

Программируем под IOS
Ответить
Anonymous
 Сбой CMotionManager при создании экземпляра

Сообщение Anonymous »

РЕДАКТИРОВАТЬ: Кажется, эта проблема решена в iOS 13. Все исходные данные оставлены ниже.

У меня происходит сбой, когда создание экземпляра моего объекта CMMotionManager для Core Motion. Это на iPhone Xs под управлением iOS 12.0.1.

Я могу надежно воспроизвести это с помощью приложения с одним представлением и следующего контроллера представления.

Код: Выделить всё

import UIKit
import CoreMotion

class ViewController: UIViewController {
var motion: CMMotionManager?
override func viewDidLoad() {
super.viewDidLoad()

// This causes a crash on iPhone Xs, iOS 12.0.1
self.motion = CMMotionManager()
}
}
Полный пример проекта находится по адресу https://github.com/doctorcolinsmith/mot ... ree/master

При выполнении вышеописанного я получаю сообщение об ошибке в потоке со следующим выводом в отладчике.

Код: Выделить всё

=================================================================
Main Thread Checker: UI API called on a background thread: -[UIApplication applicationState]
PID: 3634, TID: 630341, Thread name: com.apple.CoreMotion.MotionThread, Queue name: com.apple.root.default-qos.overcommit, QoS: 0
Backtrace:
4   libobjc.A.dylib                     0x000000019b0d3894  + 56
5   CoreMotion                          0x00000001a19337a4 CoreMotion + 305060
6   CoreMotion                          0x00000001a1933cd8 CoreMotion + 306392
7   CoreMotion                          0x00000001a1933be8 CoreMotion + 306152
8   CoreMotion                          0x00000001a19653cc CoreMotion + 508876
9   CoreMotion                          0x00000001a196542c CoreMotion + 508972
10  CoreFoundation                      0x000000019be6c888  + 28
11  CoreFoundation                      0x000000019be6c16c  + 276
12  CoreFoundation                      0x000000019be67470  + 2324
13  CoreFoundation                      0x000000019be66844 CFRunLoopRunSpecific + 452
14  CoreFoundation                      0x000000019be675a8 CFRunLoopRun + 84
15  CoreMotion                          0x00000001a1964d64 CoreMotion + 507236
16  libsystem_pthread.dylib             0x000000019bae1a04  + 132
17  libsystem_pthread.dylib             0x000000019bae1960 _pthread_start + 52
18  libsystem_pthread.dylib             0x000000019bae9df4 thread_start + 4
2018-10-24 16:19:31.423680-0700 motiontest[3634:630341] [reports] Main Thread Checker: UI API called on a background thread: -[UIApplication applicationState]
PID: 3634, TID: 630341, Thread name: com.apple.CoreMotion.MotionThread, Queue name: com.apple.root.default-qos.overcommit, QoS: 0
Backtrace:
4   libobjc.A.dylib                     0x000000019b0d3894  + 56
5   CoreMotion                          0x00000001a19337a4 CoreMotion + 305060
6   CoreMotion                          0x00000001a1933cd8 CoreMotion + 306392
7   CoreMotion                          0x00000001a1933be8 CoreMotion + 306152
8   CoreMotion                          0x00000001a19653cc CoreMotion + 508876
9   CoreMotion                          0x00000001a196542c CoreMotion + 508972
10  CoreFoundation                      0x000000019be6c888  + 28
11  CoreFoundation                      0x000000019be6c16c  + 276
12  CoreFoundation                      0x000000019be67470  + 2324
13  CoreFoundation                      0x000000019be66844 CFRunLoopRunSpecific + 452
14  CoreFoundation                      0x000000019be675a8 CFRunLoopRun + 84
15  CoreMotion                          0x00000001a1964d64 CoreMotion + 507236
16  libsystem_pthread.dylib             0x000000019bae1a04  + 132
17  libsystem_pthread.dylib             0x000000019bae1960 _pthread_start + 52
18  libsystem_pthread.dylib             0x000000019bae9df4 thread_start + 4
(lldb)
Кто-нибудь сталкивался с этим раньше или имеет идеи, как устранить сбой?

Подробнее здесь: https://stackoverflow.com/questions/529 ... tantiation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»