5

Ho aggiornato un'app di Titanium attualmente inviata e ho aggiunto un'estensione di visualizzazione utilizzando swift.Supporto Swift non valido - Manca la cartella SwiftSupport

Tutto funziona correttamente se si crea e si esegue il test su sim e si crea direttamente sul dispositivo. Ho solo un problema quando invio l'app all'App Store di Apple (tramite XCode Organizer).

Il binario sostiene, passando convalida ma ottengo am-mail da iTunes Connect come segue:

Caro sviluppatore,

Abbiamo scoperto uno o più problemi con la recente consegna per "xxxxxxxxxxx". Per elaborare la consegna, è necessario correggere i seguenti problemi:

Supporto Swift non valido - La cartella SwiftSupport è mancante. Ricrea la tua app utilizzando la versione pubblica attuale (GM) di Xcode e reinviala.

Una volta risolti questi problemi, è possibile riconsegnare il file binario corretto.

Sembra come se può essere correlato ad un ambiente di compilazione: contenuto incorporato Contiene Swift Codice.

Sembra che questo debba essere impostato su se il progetto Titanium contiene Swift incorporato.

A partire da ora sono bloccato perché non posso inviare l'app. Questo è un problema di Ti o c'è un altro passo che dovrei seguire?

XCode: 7.3, SDK: 5.2.2.GA - Progetto creato e creato utilizzando solo Ti CLI.

+0

Si sta utilizzando la versione di Xcode 7.3 GA da AppStore (non beta)? Assicurati inoltre che appc-cli sia up2date eseguendo 'appc setup'. Se persiste ancora, confronta il modello di watchos con l'ultimo raccomandato [qui] (https://jira.appcelerator.org/browse/TIMOB-19455). –

+0

Sì, come specificato sopra, versione 7.3 di rilascio dall'App Store. Guarda modello generato con l'opzione CLI utilizzando l'opzione rapida orologio-OS2 così template generato automaticamente dal CLI – Steve

+0

Qualcuno ha usato Swift per un'applicazione orologio in un progetto di Ti e effettivamente riuscito a caricare con successo il binario ad App Store e se fosse accettato? – Steve

risposta

0

Questo problema è ora essere risolto, non v'è una nuova versione del SDK Titanium, 6.0.1.GA che ha specificamente una correzione in per questo problema. Ora ho creato, inviato e ho un'app Titanium con l'app watch associata ora pubblicata nell'app store.

1

Per riferimento futuro: ho dovuto archiviare il progetto Titanium tramite Xcode perché una delle mie librerie di terze parti ha richiesto di eseguire uno script nelle fasi di creazione.

ricevuto lo stesso messaggio da Apple e fortunatamente è stato risolto solo cambiando il contenuto incorporato Contiene Swift Codice a No.

+0

Questo non ha funzionato per me purtroppo ... – user805981

+0

questo dovrebbe essere fissato in TiSDK 6.0.0, qui il biglietto: https://jira.appcelerator.org/browse/TIMOB-23313 –

+0

Questo problema è stato risolto, testati me stesso. –

2

In primo luogo è necessario controllare il file .ipa da

unzip yourapp.ipa 

Se l'unica Payload esiste, l'Apple rifiuta la vostra applicazione.

È necessario creare la directory SwiftSupport/iphoneos e inserire i file di libreria rapidi della libreria.

È possibile sapere quali librerie sono necessarie controllando Payload/yourapp.app/Framesworks. Ma questi file di libreria non possono essere utilizzati come SwiftSupport/iphoneos.

È necessario copiare le librerie appropriate dalla directory /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos del Mac. I nomi dei file sono gli stessi di Payload/yourapp.app/Frameworks ma i contenuti sono diversi.

Dopo aver ottenuto la directory Payload e SwiftSupport, fare confezionare queste directory da

$ zip -r yournewapp.ipa Payload SwiftSupport 

(Nota: rimuovere tutti i file .DS_Store se esiste)

allora Apple accespt yournewapp.ipa.

+1

Grazie, ha funzionato. Se non ti piace lo strumento da riga di comando, usa lo strumento "comandante uno" per zippare e rimuovere i file nascosti. –

0

Si consiglia di scegliere "Salva iOS App Store di distribuzione per" opzione al momento di esportare file IPA. enter image description here