performSelectorOnMainThread не выполняет

Вырвав себе волосы на этом, я буду очень признателен за любые мысли или предложения.

У меня есть объект, который вызывает performSelectorOnMainThread: withObject: waitUntilDone: для себя из дочернего потока. Это работает нормально в 95% случаев. Время от времени, начиная с бета-версий iOS и заканчивая выпуском, устройство будет отказываться выполнять вызовы performSelectorOnMainThread: withObject: waitUntilDone: ...Нет сообщений об ошибках, не происходит сбоев, я не могу заставить устройство перейти в состояние, в котором оно «выходит из строя», но как только оно появилось, оно продолжает выходить из строя, пока я не удалю и не переустановлю приложение, либо не заставлю его выйти. , затем отрегулируйте его разрешение служб определения местоположения, затем запустите его снова, затем снова верните его службы определения местоположения в нормальное состояние ... перезапуск устройства не исправляет. Повторная установка без предварительного удаления не исправляет. Это очень странно .... Я знаю, что это работает большую часть времени, потому что у большинства устройств нет проблем, однако некоторые устройства выходят из строя довольно регулярно (может быть, каждые 3 или 4 дня). Я точно знаю, что performSelectorOnMainThread: withObject: waitUntilDone: не вызывает то, что должно, потому что у меня сейчас неисправное устройство, и я поместил NSLog в метод, который должен быть вызван. Он работает нормально, но на неисправном устройстве, когда performSelectorOnMainThread: withObject: waitUntilDone: используется для вызова этого метода, NSLog показывает, что он не запускается ...

Это началось с бета-версий iOS 5 и опять же, происходит при выпуске. Чаще всего это происходит на 2 моих устройствах, но ни на одном из остальных 10 устройств, на которых я лично тестировал. Я предположил, что это было просто мое устройство из-за некоторого сбоя в бета-версии, но это происходит на моем новом 4S, который никогда не касался бета-версии, а также на iPad 2 одного пользователя (не на моем iPad 2).

Я действительно не знаю, где искать. Я приказываю ему выполнить, и это обычно происходит почти на каждом устройстве, но на некоторых строках одна и та же строка не получает ответа, ошибок и т. Д. ...

5
задан beryllium 27 October 2011 в 19:55
поделиться