2015-10-02 10 views
8

Quando si crea la mia applicazione su El Capitan utilizzando Xcode6.4 (Xcode7 non è un'opzione al momento), tutte le immagini/icone (eccetto l'AppIcon) non mostra o appare confuso.Risorse di immagine (xcassets) non visualizzate correttamente su Yosemite nell'applicazione costruita su El Capitan utilizzando xcode6.4

Guardando l'output del compilatore di asset tutto sembra a posto, ma ci sono due uscite ho il sospetto che potrebbe essere correlato, ma sono tutt'altro che certo:

2015-10-02 12: 26: 53,569 ibtoold [28899: 273288] NSFileCoordinator non sta facendo nulla.

2015/10/02 12: 26: 54,906 ibtoold [28899: 276.436] CoreUI (DEBUG): CSIGenerator utilizza la versione di compressione coreui 'LZFSE' (362,000000)

Potrebbe essere che i pasticci di compressione LZFSE in modo che Yosemite non sia in grado di decomprimere correttamente, e se è così, c'è un modo per ignorarlo?

Non c'è alcun problema quando l'applicazione viene eseguita su El Capitan.

Qualsiasi suggerimento è molto gradito.

UPDATE: Questi messaggi vengono trasmessi a consolare quando l'applicazione gira su Yosemite:

02.10.15 22.31.59,914 NomeApp [452]: - [CUIThemeRendition newImageFromCSIDataSlice: ofBitmap: usingColorspace:] non supportato formato in pixel in CSI ottenuto 36864

02.10.15 22.31.59.914 Nome app [452]: impossibile creare immagini non trattate da dati bitmap csi.

Sembra che avevano questo problema per iOS7 in Xcode beta 3 here

Ma sembra strano che improvvisamente apparve di nuovo ora, e il mio obiettivo è OS X.

UPDATE: Così Ho aggiornato a Xcode7 e l'intero problema è scomparso. Tutte le immagini e le icone ora vengono mostrate correttamente in El Capitan e Yosemite.

+2

Ho un problema simile e non sono sicuro al 100% che questo sia lo stesso problema perché sto sviluppando con xamarin contro iOS 8, ma sembra essere correlato. Ecco il link alla [Domanda Forum Xamarin] (http://forums.xamarin.com/discussion/51159/resources-images-xcassets-actool-warning-the-app-icon-set-appicons-has-an- non assegnato-bambino), dove ho postato la mia domanda di follow-up come _isaias-b_ –

+0

Ho lo stesso problema ma non su El Capitan. Io uso Yosemite e Xcode 6.4 con Xcode 7 installato. – Stas

risposta

0

Provare a convertire .png in .jpg, il mio file .png non viene mostrato ma è visibile .jpg. Oppure non metterli in Images.xcassets.

0

Ho avuto lo stesso problema dopo aver installato XCode6.4. L'ho sovvertito convertendo tutte le immagini in .jpg per il catalogo .xcassets.

7

Informazione:

Ogni versione di Xcode è dotato di un simulatore integrato in esso. Xcode 6.4 ha iOS Simulator 8.4. Xcode 7.1 ha simulatore iOS 9.1 ecc Questi simulatori sono profili memorizzati in Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/CoreSimulator/Profiles/Runtimes

Quando si installa simulatori aggiuntivi, questi vengono condivisi tra le versioni di Xcode, e le loro profili sono conservati a /Library/Developer/CoreSimulator/Profiles/Runtimes

Quindi, quando si installa iOS Simulator 9.0 da Xcode 7.1, il profilo del simulatore 9.0 viene inserito nella posizione condivisa. Se installi iOS Simulator 8.4 da Xcode 7.1, verrà inserito anche qui, come Xcode 7.1 non è a conoscenza dell'esistenza di una copia di iOS Simulator 8.4 nascosta all'interno di Xcode 6.4.

Quindi, quello che sembra accadere è (per Xcode 6.4):

  • quando si chiama actool per creare un catalogo di attività, si lancia ibtoold
  • ibtoold chiamate attraverso un servizio XPC (com.apple. coresimulator) ed esegue un'istanza di IBCocoaTouchImageCatalogTool in cima al servizio di simulazione
  • IBCocoaTouchImageCatalogTool passa attraverso tutti i runtime del simulatore al /Library/Developer/CoreSimulator/Profiles/Runtimes e utilizza apparentemente l'ultimo che può trovare. Perché questo non mi è chiaro, ma nessuna quantità di manopole ha fatto sì che facesse qualcos'altro.

Quindi, se avete Xcode 7.1.1 installato, e scaricare il simulatore di 9,0 si romperà il tuo Xcode 6.4 installare perché il simulatore 9.0 installa il suo tempo di esecuzione nella zona di runtime simulatore condivisa e Xcode 6.4 raccoglie e impieghi in alcuni casi. Questo a quanto pare fa sì che actool manipoli qualsiasi png che sta importando. Nella mia sperimentazione è benissimo l'importazione di jpg. Altri divertenti effetti collaterali includono il fatto che il tentativo di modificare gli Storyboard in Xcode 6.4 causa l'arresto di Xcode 6.4.

Quindi, se è necessario avere sia Xcode 7.x che Xcode 6.4 NON installare alcun simulatore iOS 9.x dalle installazioni di Xcode 7.

+0

Questo potrebbe essere il caso di iOS. Come ho già menzionato nella mia domanda, la mia app ha come target OS X, quindi sembra strano che abbia qualche relazione con il simulatore iOS. Detto questo, potresti essere coinvolto in qualcosa riguardo i tempi di esecuzione. Ho smesso di investigare ulteriormente mentre aggiornavamo all'ultima versione di Xcode e ho visto i problemi scomparire. – Trond

4

seguendo (parzialmente) il consiglio di @drmaclach ho seguito questi passi e si è liberato di quei fastidiosi errori -[CUIThemeRendition ...] (sto usando Xcode 6.4 e Mac OS X 10.11.1)

  • In Xcode, andare a Window -> Progetti, trova le informazioni del progetto e premere il pulsante "Elimina" per "dati derivata"
  • Quit Xcode e iOS Simulator
  • eliminare iOS 9.0.simruntime da /Library/Developer/CoreSimulator/Profiles/Runtimes progetto
  • Riaprire in Xcode ed eseguire cartella generazione pulita sotto il Pr oject quando si tiene premuto il tasto opzionale
Problemi correlati