La nostra azienda desidera distribuire un SDK closed-source per iOS ai nostri clienti. Ho usato Cocoapods per costruire il framework e creato un'app di esempio che ne facesse uso. In precedenza l'app ha funzionato bene sul simulatore e anche quando è stata installata sul dispositivo. Tuttavia, stavo anche incorporando il file Pods.framework nell'app stessa. Un'altra informazione che potrebbe interessare è che il framework è scritto in Swift, le dipendenze dei cocoapodi incluse sono sia Swift che Objective-C.Embedding framework all'interno di framework Swift closed-source
Volevo rendere i requisiti dei pod più facili da gestire, quindi l'utente non deve preoccuparsi di loro e ha cercato di incorporare il file Pods.framework all'interno dell'SDK che stiamo costruendo, quindi ho rimosso i passaggi per Incorpora pods framework e Copia le risorse dei pod dall'app di esempio, lasciandoli solo nel framework, ho rimosso anche Pods.framework come dipendenza dall'app di esempio, lasciandolo solo nell'SDK. Questo sembrava funzionare nel simulatore, ma l'app ora si blocca sul dispositivo mobile con dyld: Errore libreria non caricato.
Al momento la ricerca è, mi sono imbattuto in un paio di discussioni correlate: https://github.com/CocoaPods/CocoaPods/issues/344https://objectpartners.com/2014/06/25/developing-private-in-house-libraries-with-cocoapods/
Tuttavia, la soluzione suggerita di utilizzare baccelli privati non sembra che avrebbe funzionato per noi, è la mia comprensione che il codice sorgente in il pod privato sarebbe ancora aperto e non possiamo condividerlo con i nostri clienti.
Qualcuno potrebbe consigliare una soluzione che funzionerebbe in questo caso?
ho avuto lo stesso problema esattamente come lei non troppo tempo fa e rinunciato a causa di frustrazione. In realtà, era all'incirca alla stessa ora. Purtroppo non ho trovato soluzione. Fortunatamente ero all'inizio dello sviluppo del mio framework quindi l'ho cambiato in Objective-C in modo che potesse essere closed source. Ho quindi abbandonato i Pod e ho appena importato il progetto 1 necessario nel suo progetto. – lespommes
Penso che il tuo primo link potrebbe non essere quello che intendevi. Si collega a una libreria di grafici a torta. Hai mai capito come farlo? C'è una buona quantità di documentazione su come creare un cocoapod privato, ma non riesco a trovare nulla su come creare un cocoapod a codice chiuso, o almeno nessuno che non sia incredibilmente vago. – shmim
Hai ragione, il link sembra non essere correlato, probabilmente ho collegato per errore un problema CocoaPod sbagliato, sfortunatamente non ricordo quello originale che intendevo. L'ho capito e posso postare la mia soluzione, anche se è fragile e richiede qualche salto a cerchio. –