.Framework als .a bereitstellen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • .Framework als .a bereitstellen

    Schönen guten Abend,

    mein erster Post in diesem Forum.

    Ich komme aus der "Windows Welt", programmiere seit 15 Jahren Delphi und seit ein paar Jahren .Net.
    Vor 2 Monaten habe ich mir meinen ersten Mac zulelegt, um native Cocoa Apps für iOS entwickeln zu lernen.
    Die Wege, die Delphi da gerade für die iOS Entwichkung nimmt will ich nicht unbedingt mitgehen. 8)

    Für die iOS Entwicklung möchte ich (etwas näher an meinen Wurzeln) jedoch nicht in Objective-C sondern in Oxygene for Cocoa von RemObjects entwickeln. Oxygene greift auf native Xcode / Cocoa / iOS Bilbiotheken zu und verwendet die gleichen Sprachkunstrukte wie Objective-C. Der Code wird nativ in Xcode gegen das iOS SDK und die OC Libs compiliert.

    Das bringt mich auch gleich zu meinem Problem.
    Um die Objective-C Libraries aus Oxygene heraus ansprechen zu können, werden die Headerfiles einmalig in "vorkompillierte" FX Files importiert. Die FX Files sind dann auf der Oxygene Seite verantwortlich für den Precompiler, Intellisense, Code completion usw.
    Der "Header Importer" FxGen kann zur Zeit jedoch noch nicht mit Framworks umgeben.



    Ich möchte nun aber gerne den SensibeTableView von SensibleCocoa testen und nutzen. Die Komponente wird leider "nur" als Framework ausgeliefert. Als Ausweichlösung kann ich das Framework (laut RemObjects Support) mit Xcode in eine statische Bilbliothek umwandeln und dann den FxGen drüberlaufen lassen.


    Könnt ihr mir einsteigergerecht erklären wie ich eine static Lib für diese Komponente erzeugen kann?
    Würde mich freuen.



    Danke.


    Grüße
    Jens
    Viele Grüße aus Ahrensburg.
    Jens :P
  • Wenn es sich um ein Cocoa-Framework handelt, befindet sich im Bundle (mindestens) eine Datei mit dem Namen des Frameworks ohne Extension. Das sollte eine statische Lib sein. Im Prinzip brauchst Du nur diese Datei zu kopieren und entsprechend unzubenennen.

    Warum bindest Du das Framework nicht direkt ein? Das sollte wesentlich einfacher sein.
    „Meine Komplikation hatte eine Komplikation.“
  • Das Framework kann ich direkt in das Xcode Projekt einbinden.
    Allerdings kennt der Oxygene PreCompiler das Framework dann nicht. Das Framework ist dann für mich nicht ansprechbar (Code completion, Intellisense) und das Projekt kann auch nicht "vor"kompilliert werden.


    Du hast Recht.
    Im ".Framework" gibt es eine Datei "SensilbeTableView" und eine Datei "Headers".


    Daraus wird also "SensilbeTableView.a" und "Headers.h"?
    Das wäre perfekt. Teste ich gleich mal aus ...


    Danke.
    Viele Grüße aus Ahrensburg.
    Jens :P
  • solche frameworks sind eigentlich nur ordner in denen dann die header und libs liegen. die libs sind normalerweise libs die dynamisch geladen werden. nur in iOS ist das nicht möglich deswegen sinds da wohl statische libs.
    wenn die lib eh mit dem programm mitgeliefert werden musst spart man sich dadurch eventuell einiges an größe weil ungenutzer code gestrippt werden kann...
    also im prinzip brauchst du nur die header rausholen und nacherher beim linken eben die static-lib mit angeben
  • Das Prinzip ist klar geworden.

    Der FxGen bietet genau diese Optionen an.
    Ich kann dort auf die Header verweisen und dann die zu kopierende Lib als Parameter mitgeben.
    Die Lib wird dann von Oxygene während des Builds an den Xcode Linker übergeben.
    Ich kämpfe mich da jetzt durch. Wird irgendwann klappen.


    Danke.


    Viele Grüße aus Ahrensburg.
    Jens :P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von JensW_2000 ()