2013-05-07 3 views
8

Ho provato fare presentare una domanda tramite Xcode (così come il caricatore applicazioni) al negozio Apple, e ho ricevuto il seguente errore:valido Bundle Struttura - iOS

Invalid Bundle Structure - The binary file 'xx.app/xx' is not permitted. Your app may contain only one executable file. Refer to the Bundle Programming Guide for information on the iOS app bundle structure.

ho controllato i file generati file/impostazioni del progetto e non ho trovato cosa c'è che non va secondo la Guida alla programmazione del pacchetto.

Abbiamo tentato di pulire il nostro repository di codice, oltre a pulire le build aggiornando i percorsi delle cartelle di compilazione e le posizioni dei dati derivati ​​e ottenendo lo stesso errore.

L'unico feedback che Apple ci ha fornito è una domanda sull'utilizzo di librerie di terze parti, cosa che facciamo. Questo è successo solo pochi giorni fa.

Qualsiasi suggerimento o istruzioni passo passo per ottenere i nostri binari caricati sarebbe molto apprezzato.

Utilizziamo la versione 4.6.2 (4H1003) e Application Loader 2.8 per caricare su iTunes e abbiamo distribuito più app con la stessa struttura in precedenza (l'ultima app è stata distribuita 2 giorni prima che si verificasse l'errore, e ora il tentativo di ricaricare l'ultimo binario funzionante su un'app alternativa [dopo aver modificato le informazioni specifiche dell'app rilevanti] non riesce).

Grazie in anticipo.

+0

Difficile dire che non ci sia mai stato prima. Il valore CFBundleVersion è più grande del p versione caricata in modo vergognoso? – ahwulf

+0

La domanda ovvia, come implicita dal messaggio di errore, è * il bundle ha più di un file eseguibile? * Ti sta dicendo cosa pensa che sia sbagliato, hai controllato? Se sì, cosa hai trovato? –

+0

Giusto per aggiungere ciò che @TomHarrington ha detto, puoi guardare direttamente nel pacchetto dell'app (xx.app o nell'archivio che hai salvato) per vedere cosa sta succedendo. Continua a eseguire il drill down nel Finder, utilizzando Show Package Contents dove necessario. – matt

risposta

3

So che questo è un post un po 'vecchia, ma mi sono imbattuto in questo problema e questo è come ho riparato:

  1. In Xcode, clicca sul tuo progetto e andare al impostazioni di generazione del bersaglio.
  2. Assicurarsi che l'impostazione "Varianti di costruzione" abbia SOLO "normale" impostato per la destinazione.
  3. Pulire e ricostruire.

Credo che questo sia ciò che ha risolto il problema, ma c'è un altro cambiamento che potrebbe aver avuto un effetto.

A un certo punto, ho disattivato "Parallelize Build" nel mio Schema attivo. Avevo da allora riacceso, ma forse ha lasciato alcuni artefatti. Dubito che questo abbia avuto alcuna connessione, ma nel caso, sono andato ai miei cartelle di compilazione e cancellati i file all'interno prima ho pulito e costruito.

Spero che questo possa aiutare qualcuno che corre in questo problema.

+0

grazie per questo. non mi aiuta :(. Pubblicherò una volta che troverò una soluzione. – ToddB

0

mi sono imbattuto in questo. Nel mio caso un link simbolico a un binario (Xcode) era stato aggiunto al progetto (in qualche modo) Rimuovere dal progetto era la correzione

7

Per me la risposta era

  1. andare a

    /Users/myusername/Library/Developer/Xcode/Archivi

  2. passare alla cartella corrente per l'ultimo archivio.

  3. fare clic con il tasto destro del mouse su.'Mostra contenuto pacchetto' xarchive e selezionare

  4. navigare all'interno delle directory 'prodotti/applicazioni'

  5. fare clic con il myAppName.app e selezionare 'Mostra contenuto della confezione'

  6. eliminare l'exe a in fondo, che non è stato chiamato myAppName.exe

+0

In qualche modo uno dei miei file oggetto è arrivato lì; L'ho cancellato (dopo l'archiviazione, ma prima di inviarlo/convalidarlo) e l'avviso è stato cancellato. – Rayfleck

+0

Ha fatto il trucco, Idk da dove è stato creato questo secondo eseguibile ma comunque mi ha salvato da ulteriori perdite di tempo. Grazie mille –

3

Alcuni sviluppatori hanno colpito questo problema quando l'integrazione del Apptentive iOS SDK. Fare lo stesso errore con altri SDKS di terze parti causerà lo stesso problema.

Invalid Build Structure

The binary file 'YourApp.app/libApptentiveConnect.a' is not permitted.

Your app may contain only one executable file."

Questo errore si verifica quando la libreria statica Apptentive viene copiato il bundle app.

libApptentiveConnect.a deve essere aggiunto al target Link Binary con Librerie fase di compilazione.

Dovrebbe Non essere aggiunto a Copia Bundle Risorse fase costruzione del bersaglio.

-2

Ho avuto questo problema, ho provato tutte le soluzioni sopra e non ha funzionato per me. Alla fine è stato risolto creando l'app in iTunesConnect (itunesconnnect.apple.com).

+0

Cosa intendi con la creazione di un'app in iTunesConnect? –

+0

Siamo spiacenti, questo potrebbe non essere chiaro. Accedere a itunesconnect.apple.com - vai alle mie app - tocca il + nell'angolo in alto a sinistra e aggiungi i dettagli dell'app. Nel mio caso non avevo completato questo passaggio e risolto il problema sopra menzionato. –

0

vedere schermata, questo è il lato destro di xcode, dove si dice "codifica del testo", 4 dei miei file di intestazione e file C oggettivi in ​​cui si chiamava qualcosa come "file di testo normali" invece di "Unicode (UTF-8), come hanno fatto in quel modo, non lo so, ma xCode deciso di farli in binari ".o" i file, e anche metterli in cui i PNG vanno in un progetto archiviato.

enter image description here

0

Ho inserito il mio NSBundle.m nelle risorse del bundle Copia: non farlo :(