2014-10-21 10 views
17

Ero abituata a firmare il mio app con il seguente comandoiOS ipa codesign su XCode 6.1 e Yosemite

codesign --resource-rules=ResourceRules.plist -f -s "SIGNER_NAME" MYAPP.app

Dopo l'installazione di Yosemite e XCode 6.1 dà il seguente avviso:

Warning: --resource-rules has been deprecated in Mac OS X >= 10.10!

Così ho provato a rimuovere il "--resource-rules" ma ora dà il seguente errore (bloccando):

invalid resource specification rule(s)

C'è un modo giusto per il codesign?

+0

possibile duplicato di [Jenkins vs Xcode plugin - problemi di codesign] (http://stackoverflow.com/questions/26464577/jenkins-vs-xcode-plugin-codesign-troubles) – memmons

risposta

23

Oltre a questo post Essi rispondono alla tua domanda. Quel post è più mirato all'uso di un server di build (Jenkins CLI) ma la risposta è la stessa per te (e l'autore della risposta sottolinea che NON è univoco per Jenkins).

Al fine di risolvere la questione in questa pagina, qui è la loro risposta:

Aprire la scheda "Costruire Impostazioni" del progetto. Ricerca "Percorso delle regole delle risorse per la firma del codice", era vuoto per me. Passa a: $ (SDKROOT) /ResourceRules.plist

crediti va a Adams Blair che ha descritto questo problema con SDK2.2

https://stackoverflow.com/a/7919137/2124345

Questa soluzione non rimuove l'avviso stesso. Ma sono abbastanza sicuro che l'avvertimento non è un problema. Il problema è che senza questa impostazione i file ResourceRules.plist non vengono generati nella cartella Payload e il processo di produzione si interrompe perché manca il file.

E ancora, non è correlato al plugin jenkins. Lo stesso errore si verifica con xcrun -sdk iphoneos PackageApplication. Jenkins ha appena chiamato questa riga di comando come passo di costruzione.

+2

Ho appena avuto un'app rifiutata a causa di aggiungendo il file ResourceRules.plist alle impostazioni di compilazione. Apple ci ha inviato una nota chiedendoci di rimuovere il file e inviarlo di nuovo. – Greg

+0

@Greg - Cosa hai finito? Hai bisogno di questo flag per ottenere un IPA, ma se hanno rifiutato la tua app, qual è l'accordo? – Tony

+0

Ho finito con la rimozione del file ResourceRules.plist dal progetto e la rimozione del percorso delle regole di firma del codice per il percorso dalle impostazioni di generazione, quindi ho creato un archivio e l'ho inviato. Tuttavia, non ho controllato queste modifiche al nostro controllo del codice sorgente, in modo che Jenkins possa ancora realizzare il progetto con successo fino a quando non arriverò a una soluzione migliore che soddisfi sia la recensione di Jenkins che quella di Apple. – Greg

0

È possibile utilizzare iReSign? https://github.com/maciekish/iReSign

È una GUI che consente di firmare (o di dimettersi) i file con certificato MobileProvision.

Ho provato con Yosemite e funziona come un fascino.