Mehrere gleiche UIViewController in unterschiedlichen Xcode Projekten verwenden

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

  • Mehrere gleiche UIViewController in unterschiedlichen Xcode Projekten verwenden

    Hallo zusammen,

    ich habe zwei Projekte, nennen wir diese mal Projekt A und B. Beide Projekte haben jeweils ihr eigenes Git-Repo. Da es nun in beiden Projekten mehrere UIViewController Klassen mit dem selben Inhalt gibt, ist mein Ziel nur noch eine Klasse zu pflegen und in beide Xcode Projekte einzubinden.

    Jetzt meine Fragen :
    1. Ist dieses überhaupt grundsätzlich möglich ? Wenn ja, wie ?
    2. Gehe ich recht in der Annahme, dass ich dann die gemeinsamen UIViewController Klassen in ein separates Git-Repo packen muss ?
    3. Wo lauern eventuell Fallen, womit ich mir dann meine Projekte zerpflücken könnte ?
    Sollte es irgendwo Anleitungen dazu geben, die ich bis jetzt nicht gefunden habe, dann her mit dem Link.
  • da hast du mehrere Möglichkeiten:

    - ein Projekt und in diesem Mehrere Targets, dann kannst du da Code "sharen"
    - mach ein Pod draus (cocoapod)
    - ne Lib
    - oder halt ein Repository das du dann jeweils ins Projekt holst

    ich würde n Pod machen
    Ich weiß nicht immer wovon ich rede aber ich weiß das ich Recht habe. :saint:
  • nussratte schrieb:

    da hast du mehrere Möglichkeiten:

    - ein Projekt und in diesem Mehrere Targets, dann kannst du da Code "sharen"
    - mach ein Pod draus (cocoapod)
    - ne Lib
    - oder halt ein Repository das du dann jeweils ins Projekt holst

    ich würde n Pod machen
    -> Das mit dem Code sparen verstehe ich noch nicht so ganz. Könntest Du das bitte ein wenig genauer erklären. Was ist damit gemeint und wie funktioniert es ?
    -> Zu dem Pod, ich habe bis jetzt nur von cocoapod im Zusammenhang mit OS X Anwendungen gelesen und gehört. Kann ich das auch für iOS Apps machen ? In meinem konkreten Beispiel geht es nämlich um iOS Apps.
    -> Kann ich überhaupt aus mehreren UIViewControllern eine Library machen ? Wenn ja wie ? Anleitungen ?
    -> Und hier liegt bei mir noch das Verständnisproblem, wie kann ich im Xcode-Projekt nur auf eine .h und .m Datei referenzierten ohne diese ins Projekt mit zu kopieren ?
  • RWarnecke schrieb:

    nussratte schrieb:

    da hast du mehrere Möglichkeiten:

    - ein Projekt und in diesem Mehrere Targets, dann kannst du da Code "sharen"
    - mach ein Pod draus (cocoapod)
    - ne Lib
    - oder halt ein Repository das du dann jeweils ins Projekt holst

    ich würde n Pod machen
    -> Das mit dem Code sparen verstehe ich noch nicht so ganz. Könntest Du das bitte ein wenig genauer erklären. Was ist damit gemeint und wie funktioniert es ?-> Zu dem Pod, ich habe bis jetzt nur von cocoapod im Zusammenhang mit OS X Anwendungen gelesen und gehört. Kann ich das auch für iOS Apps machen ? In meinem konkreten Beispiel geht es nämlich um iOS Apps.
    -> Kann ich überhaupt aus mehreren UIViewControllern eine Library machen ? Wenn ja wie ? Anleitungen ?
    -> Und hier liegt bei mir noch das Verständnisproblem, wie kann ich im Xcode-Projekt nur auf eine .h und .m Datei referenzierten ohne diese ins Projekt mit zu kopieren ?

    - Targets: developer.apple.com/library/io…epts/Concept-Targets.html
    - Pods gehen auch für iOS
    - Lib: weiß ich nicht, hab ich noch nicht gemacht
    - das kannst du so reinziehen ins Projekt wie auch andere Files oder Ordner, da darfst du dann halt nur nicht angeben das er für das Projekt einen Ordner erstellen soll sondern den verlinkten nehmen

    für genauere Infos musst du mal zu den einzelnen Punkten Google bemühen
    Ich weiß nicht immer wovon ich rede aber ich weiß das ich Recht habe. :saint:
  • nussratte schrieb:

    gritsch schrieb:

    dieses pod-zeug würd ich nicht verwenden *brrr*
    warum?
    Ich finde das mit den Pods auch grauenvoll. Ich hab damit schon viel negative Erfahrungen gemacht. Besonders wenn nur mit solchen Pods gearbeitet wurde, die aber unter 64 Bit nur noch Probleme machen es aber kein Update gibt und man alles dann umbauen darf. Denn 64 Bit und Pods ist grauenvoll.
  • nussratte schrieb:

    aber das hast du doch bei allen anderen Sachen auch die du extern ins Projekt holst, wenn externe Abhängigkeiten nicht weiterentwickelt werden, das ja kein spezielles Problem das Pods haben
    Da muss ich dir Recht geben. Aber dann auch solche Pods zu updaten und so ist immer so ne Sache. Vlt. muss ich mich auch mal näher damit beschäftigen. Denn ich habe bisher noch nicht verstanden, warum ich denn Pods nehmen soll, wenn ich es so auch einbinden kann. Also ich sehe in den Dinger keinen Vorteil. Ich finde die nur umständlich, schwierig zu warten und es treten irgendwelche Probleme immer auf. Ich merke das immer nur an Projekten, die ich übernommen habe. Vlt. habe ich da auch nur ein falsche Bild davon.
  • ich empfinde die Benutzung als super angenehm
    wenn es von irgendwas ein update gibt, dann ändere ich im podfile die VersionNummer des pods , pod install und ich hab die entsprechende Version im Projekt, wenn es damit Probleme gibt die ich vorher nicht hatte, änder ich die Version halt wieder

    genau so einfach ist es auch pods wieder zu entfernen oder neue pods in ein laufendes projekt einzubinden
    und für eigene Sache wie es hier der Themenersteller möchte, bist du ja selbst der der in der Pficht ist, es aktuell zu halten

    es mag natürlich auch Negative Sachen mitbringen, die ich bisher nicht gesehen habe, darum meine Frage warum nicht?
    Ich weiß nicht immer wovon ich rede aber ich weiß das ich Recht habe. :saint:
  • Mir persönlich widerstrebt ja die Abhängigkeit von irgendwelchen anderen.
    Irgendwelche Anderen fummeln (zumindest mit den Defaulteinstellungen) in meinem Projekt herum.
    Irgendwelche Anderen schreiben mir meine Ordnerstruktur vor und nageln sie dann fest.
    Irgendwelche Anderen legen fest, von welchem Repository der Kram nun gezogen wird.

    Und ich muss dann zusehen, wie ich den Mist wieder auf die Reihe bekomme?

    Jedes Tool, das ich zusätzlich zu meiner IDE benutze, verkompliziert meinen Ablauf und ist entsprechend abzulehnen. ;)
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • Erstmal danke für die vielen Antworten. Da ich mich mit Pods direkt noch nicht beschäftigt habe, werde ich das jetzt mal außen vor lassen. Ich werde deshalb die gemeinsamen UIViewController in beiden Projekten als Link einbinden. Dazu werde ich ein extra Git-Repo aufbauen, welches die gemeinsamen UIViewController Klassen beinhaltet. Das ist für mich erstmal die sicherste Variante, da ich damit schon unter einer anderen Programmiersprache Erfahrungen gemacht habe.
  • Wenn es sich um eine iOS8-Projekt handelt, würde ich ein dynamisches Framework benutzen. Anleitungen dazu gibt es bei Apple unter anderem in WWDC-Talks.

    Wenn die App auch auf iOS7 laufen soll, würde ich ein Repository mit dem wiederverwendbaren Code machen und das als git submodule in beide Projekte einbinden.
  • dasdom schrieb:

    Wenn es sich um eine iOS8-Projekt handelt, würde ich ein dynamisches Framework benutzen. Anleitungen dazu gibt es bei Apple unter anderem in WWDC-Talks.

    Wenn die App auch auf iOS7 laufen soll, würde ich ein Repository mit dem wiederverwendbaren Code machen und das als git submodule in beide Projekte einbinden.
    warum? wozu eine dynamische lib? womöglich noch mit headern etc...