2012-02-26 12 views
5

Stworzyłem aplikację opartą na mapie dla iPhone'a, a ostatnio przesłałem ją do sklepu. Nie miałem problemu z uruchomieniem aplikacji na urządzeniu lub symulatorze. Jednak sklep odrzucił go, ponieważ rozbił się po uruchomieniu. Dzienniki zderzeniowe skarżą się, że ramy SenTestingKit nie został znaleziony:Dlaczego aplikacja SenTestingKit powoduje awarię mojej aplikacji?

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 

Szukałem w innych mających ten problem, i jestem pewien, jak ja nadal bawić się z nim, znajdę wyszukiwanie ramową ścieżka Muszę pomyślnie dołączyć środowisko SenTestingKit.

Co jestem zagubiony i potrzebujesz pomocy zrozumienie jest:

  1. Dlaczego urządzenie i uruchomić symulator dobrze bez ram, ale wersja zarchiwizowana nie?

  2. Dlaczego to jest potrzebne? Podczas projektowania nie korzystałem z żadnych testów jednostkowych. Użyłem bibliotek SBJSON i ASIHTTPRequest, ale nie widziałem instrukcji #import dla SenTestingKit w żadnym kodzie biblioteki.

  3. Czy jest mi łatwiej usunąć SenTestingKit lub w jakiś sposób włączyć go poprawnie do archiwum? Chciałbym rozwiązać ten problem, ale muszę go ponownie przesłać do sklepu z aplikacjami najszybciej jak to możliwe.

Naprawdę chciałbym zrozumieć ten problem na poziomie koncepcyjnym, zamiast siekać, dopóki wszystko nie zadziała.

+1

Czy kiedykolwiek znalazłeś odpowiedź na to pytanie? ponieważ mam identyczny problem –

Odpowiedz

10

To, że nie importujesz nagłówków SenTestingKit, nie oznacza, że ​​nie łączysz swojej biblioteki.

Sprawdź build-Configuration/s =>docelowa =>Fazy Zbuduj =>link binarnych z Biblioteki do wejścia SenTestingKit.framework. Jeśli jest obecny w czymkolwiek poza celem testowym, usuń go.

Cel testowy jest symbolizowany małym pudełkiem enter image description here, w przeciwieństwie do Celu aplikacji, który jest symbolizowany przez mały domek enter image description here.

+1

Koleś, nie mogę ci wystarczająco podziękować - byłem w trudnej sytuacji, nie mogąc zrozumieć mojego problemu z budowaniem, tak jak działo się to na moich urządzeniach programistycznych, ale żadnych urządzeń klienta za pośrednictwem wersji TestFlightApp . Zmiana tylko senTestingKit.framework z "wymagany" na "opcjonalny" poprawił mój problem - +1 dla wspaniałej odpowiedzi i A +++ dla zdjęć pudełkowych i domowych :) –

+0

Czy możesz rozwinąć nieco dalej? Moja aplikacja wyświetla to samo zachowanie po wdrożeniu w aplikacji TestFlight, ale aby ją bardziej zagmatwać, nie dzieje się tak w przypadku wszystkich naszych urządzeń, tylko jednego z nich. – Ternary