Почему SenTestingKit вызывает сбой моего приложения?

Я создал картографическое приложение для iPhone и недавно отправил его в магазин. У меня не было проблем с запуском приложения на устройстве или симуляторе. Однако магазин отклонил его, потому что он вылетел при запуске. В журналах сбоев сообщается, что инфраструктура SenTestingKit не найдена:

Date/Time:       2012-02-21 19:02:26.048 -0800
OS Version:      iPhone OS 5.0.1 (9A405)
Report Version:  104

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x00000001, 0xe7ffdefe
Crashed Thread:  0

Dyld Error Message:
  Library not loaded: /Developer/Library/Frameworks/SenTestingKit.framework/SenTestingKit
  Referenced from: /var/mobile/Applications/*Long Application Reference Number*/MyApp.app/U of T Map
  Reason: image not found
  Dyld Version: 199.5

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

Что меня смущает, и мне нужна помощь в понимании:

  1. Почему устройство и симулятор работали нормально без фреймворка, а архивная версия — нет?

  2. Почему он думает, что мне нужен этот фреймворк? Я не использовал модульное тестирование во время разработки. Я использовал библиотеки SBJSON и ASIHTTPRequest, но не видел оператора #import для SenTestingKit ни в одном из кодов библиотек.

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

Я действительно хотел бы понять эту проблему на концептуальном уровне, а не ломать голову, пока все не заработает.


person Joel Koroniak    schedule 26.02.2012    source источник
comment
Вы когда-нибудь находили ответ на этот вопрос?? потому что у меня идентичная проблема   -  person James Dunay    schedule 16.04.2012


Ответы (1)


Тот факт, что вы не импортируете SenTestingKit-Headers, не означает, что вы не связываете его библиотеку.

Проверьте свою Build-Configuration/s => Target => Фазы сборки => Link Binary With Libraries для запись SenTestingKit.framework. Если это присутствует в чем-либо, кроме Test-Target, удалите его.

Тестовая цель обозначается маленьким прямоугольником введите здесь описание изображения, в отличие от цели приложения, которая символизируется домиком введите здесь описание изображения.

person Till    schedule 20.04.2012
comment
Чувак, я не могу тебя отблагодарить - я изо всех сил пытался понять проблему со сборкой, поскольку это происходило на моих устройствах для разработки, но не на устройствах клиентов через сборки TestFlightApp. Только изменение SenTestingKit.framework с обязательного на необязательный решило мою проблему - +1 за отличный ответ и A+++ за изображения коробки и дома :) - person Mohamed A.Karim; 02.04.2014
comment
Можете ли вы уточнить немного больше? Мое приложение демонстрирует такое же поведение при развертывании в TestFlight, но, чтобы сделать его более запутанным, это происходит не со всеми нашими устройствами, а только с одним из них. - person Ternary; 30.04.2014