2012-02-26 9 views
5

Ho creato un'app basata su una mappa per l'iPhone e di recente l'ho presentata al negozio. Non ho avuto problemi a eseguire l'app sul dispositivo o sul simulatore. Tuttavia, il negozio lo ha respinto perché si è bloccato durante il lancio. I resoconti di blocco si lamentano che il quadro SenTestingKit non è stata trovata:Perché SenTestingKit causa l'arresto anomalo della mia app?

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 

Ho guardato in altri che hanno questo problema, e sono sicuro che, mentre io continuo a giocherellare con esso, troverò la ricerca quadro percorso Ho bisogno di includere con successo il framework SenTestingKit.

Quello che mi sono confuso circa e bisogno di aiuto per la comprensione è:

  1. Perché il dispositivo e il simulatore di corsa bene anche senza il quadro, ma la versione archiviata no?

  2. Perché pensa che ho bisogno di questo quadro? Non ho usato alcun test unitario durante lo sviluppo. Ho usato le librerie SBJSON e ASIHTTPRequest, ma non ho visto un'istruzione #import per SenTestingKit in nessuno dei codici della libreria.

  3. È più facile per me rimuovere la necessità di SenTestingKit o in qualche modo includerlo correttamente nell'archivio? Vorrei risolvere questo problema, ma ho bisogno di questo nuovo invio all'app store APPENA POSSIBILE.

Mi piacerebbe davvero capire questo problema a livello concettuale, piuttosto che mettere mano fino a quando le cose funzionano.

+1

Hai mai trovato una risposta a questo ?? perché ho un problema identico –

risposta

10

Solo perché non si stanno importando le Intestazioni SenTestingKit, non significa che non si stia collegando la sua libreria.

Controlla la tua Build-Configuration/s =>destinazione =>fasi di creazione =>collegamento binari con le librerie per la voce SenTestingKit.framework. Se questo è presente in tutto tranne che in un Test-Target, rimuovilo.

A Test-Target è simboleggiato da una piccola casella enter image description here, al contrario di un App-Target che è simboleggiato da una casetta enter image description here.

+1

Dude, non posso ringraziarti abbastanza - sono stato in una lotta non in grado di capire il mio problema di build, come accadeva sui miei dispositivi di sviluppo, ma nessun dispositivo del cliente tramite build TestFlightApp . Cambiare solo SenTestingKit.framework da "required" a "optional" ha risolto il mio problema: +1 per l'ottima risposta e A +++ per le immagini box e house :) –

+0

Puoi approfondire un po '? La mia app presenta lo stesso comportamento quando viene distribuita a TestFlight ma per renderla più confusa, non sta accadendo a tutti i nostri dispositivi solo uno di loro. – Ternary