iOS Statico vs Dinamico quadri chiarimenti

Devo ammettere che con il rilascio di iOS 8 sono un po ‘ confuso circa la dinamica e statica quadri per iOS.

Sto cercando un modo per distribuire la libreria che ho creato, e ho bisogno di supporto per iOS 7 e superiori. (Nota: Questo sarà un quadro di proprietà. Non posso usare il cacao, e anche io non riesco a distribuire il sorgente). Qui è quello che già so:

  • iOS 8 ha introdotto “embedded quadri” per iOS, ma, a quanto ho capito, non funzionano per iOS 7, solo per iOS 8 e superiori.
  • Ho l’opzione di distribuzione della mia libreria come una libreria statica (.un file) e anche distribuire le intestazioni. So che questo è un modo comune di affrontare la situazione, ma vorrei trovare qualcosa di più semplice (e anche per il bundle di alcune risorse con esso, se possibile).
  • Ho anche scoperto che iOS 7 non supporta la dinamica .framework di librerie (statico) perché non supporta il collegamento dinamico. Ma iOS 8, così come il collegamento statico.

E qui sono le mie domande riguardanti queste informazioni:

  • Ho visto che posso creare un .framework di destinazione, e renderlo statico, modificando il Mach-O di tipo “statico biblioteca. Sarebbe sufficiente per supportare iOS 7 senza problemi, e anche per distribuire la mia biblioteca .quadro bundle? Se è così, perché è “embedded quadri” in iOS 8 è quello grande di un affare, come molte risorse su internet sono da suggerire? Mi manca qualcosa?
  • È necessario per la coprogettazione .quadro proprio come faccio con qualsiasi altra applicazione che faccio?
  • Cosa succede se ho bisogno di includere altre risorse (come il Core di Dati o di Immagini) con la mia .quadro file? Ho bisogno di fare un separato .bundle file?
  • “iOS 7 non supporta .quadro librerie, perché non supporta il collegamento dinamico” Questa affermazione non è corretta.
  • Vedo. mi puoi dire la frase corretta? È falso, perché iOS 7 supporta il collegamento dinamico o perché iOS 7 supporta .quadro librerie? O entrambi?
  • Ricordate AVFoundation e CoreGraphics tutti sono .quadro. Probabilmente questo aiuterà a trovare le risposte a tutte le tue domande: raywenderlich.com/65964/create-a-framework-for-ios
  • Ho fissato la frase. Ho già letto il link, prima ho postato le mie domande. Questo link non spiega nulla per quanto riguarda le mie domande. Si parte da una libreria statica e lo avvolge in un .quadro file MANUALMENTE. Sto parlando di un Cocoa Touch Framework di destinazione in Xcode 6 e quindi modificare il tipo in una libreria statica. Non citare il codice per la firma (il motivo e se è necessario), risorse aggiuntive, etc.
  • Per ulteriori risorse, è necessario includere un bundle
  • È possibile utilizzare CocoaPods a distribuire un quadro di proprietà (ad esempio, Analizzare)
  • Alcune informazioni utili in questo video : youtube.com/watch?v=aUGAiuuZ89w

InformationsquelleAutor csotiriou | 2015-01-12



4 Replies
  1. 65

    Prima di iOS8, Xcode consentito solo l’opzione di creazione di librerie statiche per iOS. Il problema comune che abbiamo dovuto spedire il binario e le intestazioni separatamente.

    Più tardi, alcuni sviluppatori è venuto con l’idea di creare ‘statico quadri’. [il .quadro è solo una cartella con un link simbolico alla cartella lib e le intestazioni]. Un esempio è https://github.com/jverkoey/iOS-Framework

    Questa opzione funziona per iOS 7 o 8 o prima che. Perché sono proprio le librerie statiche, con la comodità di accorpare le intestazioni dei file.

    Come per le vostre domande delle risorse, abbiamo la necessità di inserirle in ‘.bundle’.. Per la spedizione non so se siamo in grado di racchiudere l’ .quadro cartella.. In passato ho usato per spedire il mio libs come un quadro statico e bundle…

    Tuttavia questa opzione non funzionerà per voi se si utilizza Swift. Xcode non supporta la costruzione di librerie statiche che includono il codice swift.

    Si deve andare con Dinamica quadri se c’è rapido utilizzo. In teoria, Dinamico quadri di lavorare in iOS7.. Ma credo che iTunes Connect rifiutare se l’app è il targeting per iOS7 e utilizza Dinamico quadri :-).

    Spero che questo aiuta

  2. 13

    Con Xcode 9 in poi è possibile creare statico quadri per Swift così. Questo è possibile grazie ad ABI fonte di compatibilità. Tutto quello che dovete fare è semplicemente cambiare il Mach-O type sotto impostazioni di compilazione del quadro di destinazione.
    Questa tecnica è applicabile anche ai Ibrido Quadri(quadri con Swift e il codice Objective-C).

    • Grande punta. Non so perché questa risposta è stato segnato giù come mi ha aiutato. \Target Produci Settings\Mach-O-Tipo e selezionare Quadro Statico.
    • Abi compatibilità non è disponibile in swift 4
  3. 6

    Swift non funziona in statico lib. Se è necessario utilizzare contesto dinamico, si dovrà impostare min iOS 8.0 perché AppStore rifiutare ios 7 con quadro dinamico

    • È possibile importare una libreria statica in una swift a base di progetto
  4. 5

    Non ho tutte le risposte, ma cercherò di affrontare alcune delle domande qui.

    • Si otterrà un messaggio di avviso per l’utilizzo di questi quadri in iOS 7, tuttavia, che è tutto ciò che è, un messaggio di avviso. Vedere questo risposta.

    • È possibile includere altre risorse come CoreData tuttavia avrete bisogno di crearli manualmente il codice. Ecco una tutorial che mostra come creare un modello di dati di base.

    • Si dispone del codice di segno librerie dinamiche per iOS.

    • È necessario assicurarsi che il framework supporta sia il simulatore e l’architettura dei dispositivi se hai intenzione di distribuirlo.

Lascia un commento