Avvertenza: la fase di creazione delle risorse del pacchetto copia contiene il file Info.plist di questa destinazione


270

Ho separato un progetto in due build e ho dato a ciascuno di essi un plistfile. Tutto funziona bene, ma continuo a ricevere questo avviso di build:

Avvertenza: la fase di creazione delle risorse del pacchetto copia contiene il file Info.plist di destinazione "MyApp-Info.plist"

Lo capisco quando provo a costruire MyApp. Costruire per il secondo target dà lo stesso errore (con SecondTarget-Info.plistnell'avvertimento). Non sono sicuro del motivo per cui è un avvertimento, poiché voglio che la build contenga quel .plistfile. Ognuno dei .plistfile ha un abbonamento di destinazione (per la propria build).

Cosa significa questo avviso? C'è un modo per farlo andare via?


Non è necessario aggiungere Info.plist a ciascun target. Invece in ogni impostazione Build Build -> Packaging -> File Info.plist -> la posizione del Info.plist target
onmyway133

Risposte:


595

https://developer.apple.com/library/content/qa/qa1649/_index.html

Estratto:

Questo avviso viene visualizzato perché probabilmente hai aggiunto il file Info.plist alla fase di creazione delle risorse del pacchetto copia, come mostrato nella Figura

inserisci qui la descrizione dell'immagine

L'impostazione di build INFOPLIST_FILE specifica il nome del file Info.plist associato al target. Quando si crea un target, Xcode legge questa impostazione di build e copia il file Info.plist di riferimento nel pacchetto dell'applicazione. Poiché Xcode elabora automaticamente Info.plist, non è necessario aggiungerlo alla fase di creazione delle risorse del pacchetto copia o renderlo un membro di destinazione.

Per risolvere questo avviso, seleziona il tuo Info.plist dalla fase di creazione della risorsa Copia pacchetto come mostrato nella Figura 1, quindi fai clic sul pulsante Rimuovi (-) per eliminarlo dalla fase.


Quale problema sarà causato se questo non viene risolto?
Hasan,

2
@ hasan83, riceverai l'avviso di compilazione e il prodotto creato conterrà una copia aggiuntiva di Info.plist occupando un po 'di spazio.
JWWalker,

1
@kraftydevil, il tuo progetto ha dei sottoprogetti, in modo che l'avviso possa riferirsi a un target diverso da quello che hai esaminato?
JWWalker,

5
Ancora pertinente, 7 anni dopo.
jungledev,

1
La soluzione ha funzionato per me su Xcode 9. @jungledev è ancora rilevante perché Apple è impegnata ad aggiornare le versioni di Swift piuttosto che a sviluppare Xcode per mostrarci la soluzione per gli strani errori di numeri strani per tutto il tempo.
MBH,

65

Per correggere in xcode 4:

1) Rimuovere il riferimento al file info.plist selezionandolo e premendo Elimina.

2) Aggiungi di nuovo il file info.plist ma scegli nessuna destinazione e deseleziona l'opzione "aggiungi ai target".


2
Ora vedo che NON deselezionare "aggiungi alle destinazioni" quando si copia il file plist nel mio progetto è stato il motivo per cui ho riscontrato questo problema. Per risolvere il problema, ho seguito i passaggi nella "risposta corretta" sopra, sebbene anche l'eliminazione e la re-aggiunta senza aggiungere agli obiettivi avrebbero funzionato. =)
RanLearns,

1
Questo ha funzionato per me in Xcode 6.4. La risposta selezionata no.
kraftydevil,

2

Se qualcuno si imbatte in questo con Xcode 3, per risolverlo fai clic sul file .plist nella colonna di sinistra sotto "Gruppi e file" e, nell'area in alto a destra, deseleziona la casella accanto al nome del file .plist nella colonna sotto l'icona bullseye. Per visualizzare le caselle di controllo è necessario eseguire lo zoom indietro dell'editor (Visualizza -> Zoom indietro dell'editor).


0

Un'altra soluzione è:

È possibile che sia stato rimosso accidentalmente un file di progetto dai dati principali di "appartenenza di destinazione".

  1. Seleziona il tuo Main.storyboard dal navigatore del progetto a sinistra

  2. Vai su "File Inspector" (prima scheda) a destra

  3. Trova l'elenco "Target Membership"

  4. Abilita la casella di controllo

  5. Dagli un po 'di tempo per l'elaborazione, ma mentre ci sei, controlla anche LaunchScreen.storyboard, .xcdatamodelid, Assets.xcassets e tutti i file .swift nel tuo progetto. Avrebbero dovuto essere tutti abilitati per l'appartenenza target.

  6. Nota: Info.plist non deve abilitare l'appartenenza di destinazione selezionata.

Spero che questo ti aiuti.


-2

Proprio come una nota ... Proverò a scrivere un bel radar a riguardo, ma è davvero strano il modo in cui la localizzazione viene gestita negli Storyboard in Xcode. Se chiedi "Mostra nel Finder", non vedrai il tuo file .storyboard selezionato ma invece la sua cartella contenente. Penso che abbia a che fare con la localizzazione dello storyboard. Non appena l'ho cambiato dall'inglese al tedesco (e quindi non avendo più il file in root o en.lproj), ho iniziato ad avere problemi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.