Starthilfe bei der Entwicklung Xcode 13.3.1

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

  • Starthilfe bei der Entwicklung Xcode 13.3.1

    Hallo,
    ich benötige etwas Starthilfe bei der Entwicklungsumgebung. Vor einiger Zeit habe ich begonnen kleine Programme für Windows zu entwickeln. Das ganze funktioniert mehr oder weniger nach dem Try and Error Prinzip, denn die einzige Programmiersprache die ich in der Schule lernte, war gwbasic und zuvor noch am C64. Ich bin aber mit meinen bisherigen Ergebnissen zufrieden und wollte das ganze mal unter Apple testen. Dazu habe ich mir einpasst Videos angeschaut, die meisten beziehen sich aber auf IOS und nicht auf ein Programm für apple.
    Zu meinem Vorgehen:
    Ich habe über den Assistenten eine App generieren lassen (Testapp). Die hat einen Button und der soll einfach einen Stein ausgeben. Aber irgendwas passt da nicht:
    2022-04-18 15:58:11.007616+0200 Testapp[4531:144655] [Nib Loading] Failed to connect (Controler) outlet from (NSWindowController) to (NSWindow): missing setter or instance variable
    2022-04-18 15:58:11.010649+0200 Testapp[4531:144655] [Nib Loading] Could not connect action, target class Testapp.ViewController does not respond to -Push:
    2022-04-18 15:58:18.485862+0200 Testapp[4531:144655] Metal API Validation Enabled

    Das ganze Konstrukt sieht grafisch so aus, siehe Bild.
    Ich habe einfach einen Button eingesetzt und den mit der STRG und gedrückter Maustaste in den Code gezogen. Daraufhin wird diese Funktion erstellt, und in dieser Funktion möchte ich dann einfach unten im Logfile ein Test ausgeben. Aber ich bekomme Immer nur oben die Fehlermeldung. Leider komme ich hier nicht weiter....

    @IBAction func Push(_ sender: NSButtonCell) {
    print("Test")
    }
    Dateien
  • Christoph Hehl schrieb:

    [...] die einzige Programmiersprache die ich in der Schule lernte, war gwbasic und zuvor noch am C64. [...] Ich habe einfach einen Button eingesetzt und den mit der STRG und gedrückter Maustaste in den Code gezogen.
    Hi Christoph,

    Nichts gegen GW-BASIC, damit habe ich vor Urzeiten Minesweeper programmiert, weil meine Frau danach süchtig war und auf meinem AT kein Windows lief :D Willkommen hier im Forum!

    Dein Problem - zumindest das grundlegendste - ist, dass Du die @IBAction durch Drag&drop im falschen Code erzeugt hast: Du hast das Projekt in Xcode mit der Option "include Tests" angelegt. Dadurch wurden neben den unmittelbaren Code-Dateien auch welche für automatisierte Unit- (und UI-) Tests erstellt, und in diesen erzeugtest Du den Code, der beim Drücken des Buttons ausgeführt werden soll. Tatsächlich müsste die @IBAction in den Code des ViewControllers, welcher für die Steuerung der Oberflächenelemente einer View verantwortlich ist.

    Ich vermute, dass Du zudem noch ein Problem mit dem Window im IB hast, dessen Outlet "window" scheinbar nicht mit der entsprechenden Variablen des WindowControllers verbunden ist. Zumindest interpretiere ich die erste Log-Ausgabe so.

    Es stimmt, Recherchen im Netz landen (mittlerweile) meist auf iOS-Beispielen. Manchmal kommt es mir so vor, als ob kaum noch eine(r) für macOS programmiert - vielleicht weil eine Smartphone-App "sexy" scheint? Angesichts des kaputten Preisgefüges von Mobile Apps irgendwie komisch... Mein Rat wäre, den Einstieg in macOS-Programmierung über ein Buch zu suchen: Rein didaktisch ist dies m. E. sinnvoller als unzusammenhängende Videos, Blogs oder andere Recherchen. Wenn man den einzelnen Kapiteln konzentriert folgt und Bespiele nicht nur liest, sondern programmiert und nachvollzieht, ergeben sich Grundlagen, ohne die man m. E. schnell verloren ist. BTDT.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Hallo
    Danke, das war es, ich habe ein neues Projekt angelegt und darauf geachtet das dieser Hacken mit den Tests aus ist. Dann hat es sofort funktioniert. Vielen, vielen dank. Ich habe daran jetzt schon einige Stunden verbracht um ein Button zu aktivieren. Angefangen hatte ich mit Textfelder, die ich als String auslesen wollte nach dem Button, klick. Aber da bin ich immer in den gleichen Fehler gelaufen, irgendwann dachte ich, Versuchs mal nur mit einem Button.

    Die Buchtips werde ich mir anschauen.

    Das Programmieren mit Basic war für mich das logischste überhaupt. Es gab zwar keine Funktionen, aber man hatte immer noch die Möglichkeit, mit gosup und return zu springen. :) Jetzt hat man Klassen, Funktionen usw. das hat man früher nicht gebraucht. Meine ersten Erfahrungen habe ich auf einem Schneider Euro PC mit 512 kb Ram gesammelt. Das waren noch Zeiten. Nebenbei, so ein XT, werde ich mir bald mal wieder zusammen bauen.
    malinov.com/Home/sergeys-projects
    Die Leiterplatte für die Backplane und den 8088 habe ich schon hier liegen. Werde noch die Bauteile besorgen und dann geht im im Herbst an die Arbeit.

    Ich ein großer Fan von den klassischen Macs. Das Mac OS 7 konnte doch schon sehr viel. Das Appletalk von damals ist das USB von heute.
    Dateien
  • Christoph Hehl schrieb:

    Danke, das war es, [...] Das Programmieren mit Basic war für mich das logischste überhaupt. Es gab zwar keine Funktionen, aber man hatte immer noch die Möglichkeit, mit gosup und return zu springen. :) Jetzt hat man Klassen, Funktionen usw. das hat man früher nicht gebraucht.
    Freut mich!

    Der Umstieg von prozeduralem Programmieren auf objekt-orientiertes war für mich eine ziemliche Umstellung, die nach Verständnis des grundlegenden Konzeptes aber komplett in den Hintergrund trat ... und durch die permanente Verwendung in Apple's Frameworks wird sie zur Selbstverständlichkeit.

    Der Weg von Spaghetti-Code à la BASIC zu OOP ist dann noch etwas länger :D

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Ich bin schon wieder in einer Situation in der ich nicht weiter komme.
    Der besagte Button geht jetzt. Nun wollt eich aus einem Textfeld den String auslesen und dann einfach mit print ausgeben. Selbe Vorgehensweise: ein Textfeld 'testfeld' erstellt und dann mit der Maus rüber gzogen. Dann wollte ich das ganze in eine Variable schreiben. Aber das ganze ist wohl nicht so einfach...?
    Ich habe asowieso ein Verständnisproblem bei dem ganzen: ich habe das Feld 'testfeld' genannt und habe dann ein Outlet, weil es ja nur zum lesen und schreiben sein soll, erstellt mit dem Namen 'Eingabefeld'.
    Wo kann ich denn die Beziehung zwischen 'testfeld' und 'Eingabefeld' in irgendeinem Code sehen?
    Wieso kann ich denn nicht beim Ziehen nicht direkt mit 'testfeld' arbeiten, sondern es muss eine neue Funktion angelegt werden die das ganze übernimmt?
    Dateien
  • Du hast nicht das Textfeld, sondern dessen Zelle als @IBOutlet definiert und Dein Code für die Zuweisung steht unmotiviert bei dessen Definition als Instanzvariable, ausserhalb jeglicher Funktion.

    Glaube mir, Du kommst ohne einführende Literatur zum Lernen einiger Grundlagen nicht wirklich weiter...

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.

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

  • Hallo,

    ers mal ein herzliches Willkommen hier. Leider hat das Thema "Programmieren" aus heutiger Sicht nichts mehr gemeinsam mit den Zeiten zu dem C64 oder dem Atari mit einem einfachen Basic.

    Es gibt zwar auch einige "Basic" Umsetzungen für den Mac, aber Softwareentwicklung ist heute tatsächlich ein recht kompliziertes Thema. (Der empfohlene Weg - eine Ausbildung zum FiAE - dauert 3 Jahre)

    Wenn Du noch ein Tablet hast, kannst Du eine Lernumgebung von Apple laden, die für Kinder gedacht ist, um an das Thema ran zu kommen.

    Der Einstieg auf dem Rechner wären hier eher die Playground Projekte. Also Du bist dann leider komplett falsch in das Thema "Programmieren lernen" eingestiegen. Denn bevor man mit komplexen GUI Elementen arbeitet, muss man erst die Grundlagen der Sprache lernen und dazu reicht ein Playground.

    Ja, ein Buch wäre sicher eine gute Hilfe, ist aber auch nicht jedermanns Sache.

    Auch mit Visual Basic (PC) hat die Apple Umgebung nichts gemeinsam.

    Aber es gibt eine Reihe von Möglichkeiten, die alten Computer über Emulatoren laufen zu lassen. Das wäre noch eine Möglichkeit, den C64 oder den Atari ST oder Atari XL oder sonst einen Computer auf den Mac zurück zu bringen.

    Ich nutze im Moment den Hatari Emulator für den Atari ST und dort die Programmierumgebung GFA Basic über AranyM. Das wäre jetzt etwas kompliziert, zu erklären, wie man das alles installiert. Aber die GFA Basic Bücher kann man kostenlos lesen über das Internet Archiv.

    Außerdem gibt es heute noch Leute, die für die Emulatoren z.B. neue Spiele programmieren.

    hatari.tuxfamily.org
    archive.org/search.php?query=Atari%20ST
    aranym.github.io

    Ansonsten würde ich empfehlen, online Kurse zu suchen und diese durchzuarbeiten.

    Bei mir sieht das dann so aus. Auf der einen Seite ist die Basic Entwicklungsumgebung hier GFA Basic mit dem Compiler und auf der anderen Seite der Atari Emulator zum Testen.

    Bei Facebook gibt es eine Gruppe "GFA Basic", dort diskutieren alle Leute, die sich noch gerne an alte Zeiten erinnern und auch an neuen Programmen arbeiten.

    Ich finde, man sollte immer an dem Thema anknüpfen, mit dem man Spaß hatte.

    Gruß
    Thorsten
    Dateien

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

  • Hallo Thorsten,
    das mit den Atari ist lustig, ich habe selbst einige Ataris, angefangen vom 800 XL bis hin zum TT habe ich einige Modelle. Aber mit dem GFA Basic habe ich selbst nie programmiert. Bin eigentlich mit dem C64 groß geworden und habe dementsprechend auch Programierkenntnisse.

    Aber in dem Visual Studio finde ich mich mittlerweile gut zurecht. Das finde ich auch etwas, für mich, verständlicher als Xcode.

    Wenn ich mich wirklich mit dem Xcode befassen möchte, geht das vermutlich nicht über eine gescheite Literatur. Da bleibt mir eigentlich nichts anderes Übrig. Es sieht in den Videos recht einfach aus, man zieht das Feld einfach in den Code...
  • Ich habe das mal installiert, aber so wie ich das sehe, erzeugt das den code für Xcode. Sieht zwar auf dem ersten Weg gut aus, aber ich denke spätestens beim Debuggen muss man dann doch wieder zu Xcode.
    Da ich gestern Abend noch etwas zeit hatte, habe ich mir einige Videos angesehen und auch verschieden Codestellen gegoogled.
    var test = Eingabefeld.stringValue macht genau das was ich suchte.

    Ein- und Ausgabe zum Textfeld funktioniert. Das ist schön, dann kann ich mich dort weiter an die Materie heran tasten. Aber das eine Buch "das Swift Handbuch" werde ich mir noch zulegen. Dann habe ich was zu blättern.
    Wenn es fertig ist soll es ein kleiner Client werden, der über REST JSON auf ein Webservice zugreift. Dann kann ich den später mal auch auf ein Handy installieren.

    Um noch mal auf die Ataris zurück zu kommen, gibt es hie reine Community die hier auch Anwendungen für Atari programmiert?
  • Hallo Christoph,

    prima wenn es klappt, dann war der Tipp mit VS für Mac ja richtig für Dich.

    Hm, also hier habe ich noch keine Atari Gruppe gesehen.

    Aber bei Atari Home gibt es eine recht große Community aus Deutschland. Ein paar Leute haben sich zumindest mal mit dem Thema Retro Games beschäftigt und etwas programmiert.

    atari-home.de

    In dem Verein sind auch ein paar Atarianer

    forum.classic-computing.de/forum/

    Hier ein Entwickler, der aktuell für den Atari programmiert.

    hd-videofilm.com/frogs/

    Für die 8-Bit Modelle gibt es eigene Gruppen.

    Vielleicht kommst Du einfach dorthin und nimmst mit den Leuten Kontakt auf. Retro Games sind auf jeden Fall ein spannendes Thema.

    Wenn man das ein oder andere Spiel auf ein I-Pad bringen könnte, wäre das sicher auch eine feine Sache. Man müsste halt jemand finden, der an der Idee auch Spaß hat.

    Gruß
    Thorsten

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

  • Hallo,
    Atari home.de Da bin ich Mitglied seit 2004... :)
    das andere Forum ist mir auch bekannt, da bin ich seit ca. einem Jahr aktiv. Ich suchte mal Unterstützung um einen alten PC wieder zum laufen zu bekommen.

    Ich bin schaue gerne nach den alten Retro PC Sachen und schaue, was die anderen so machen. Durch Corona- Lockdown habe ich meine Sammlung vergrößert und einiges auch selbst zusammen gelötet. So hatte ich wenigstens ein Hobby.
    Irgendwann gehe ich auch mal auf eine Ausstellung, das habe ich derzeit noch nie geschafft.
    Frogs wurde im Atari - Forum vorgestellt. Ist echt schön wenn da noch was gemacht wird in dieser Richtung. Die Hardwareentwicklung finde ich besonders spannend Was da so zusammengebaut wird, da bin ich immer beeindruckt, was da ein Know How hinter steckt..
  • Ich wollte ja hier nicht mehr weiter eingehen, da das ja im neudeutschen offtopic ist. Aber ich bin doch sehr erfreut hier Gleichgesinnte gefunden zu haben.

    ich denke, die meisten die sich früher mit Atari beschäftigt haben, sind zu Apple gewechselt. Jedenfalls die, die ich so kenne, benutzen meist später den Mac.
    ich komme aus dem Westerwald, daher hatte ich mal Hanau ins Auge gefasst, Paderborn ist doch etwas weiter.
    Realbasic habe ich schon mal gehört. Purebasic sagt mir noch was. Das hatte ich mal herunter geladen. Aber aus Zeitmangel nicht mehr weiter betrachtet. Purebasic ist auch Plattformübergreifend.
    Das sieht doch recht einfach aus auf dem Video von xojo. Ich komme jetzt erst wieder in ca einer Woche zum programmieren, hab beruflich viel um die Ohren.
  • Aus dem Westerwald, ist jetzt gar nicht soo weit von der Eifel entfernt. Und die Gruppe hier trifft sich ja in Frankfort auf der Messe, dorthin habe ich es bis jetzt aber auch noch nicht geschafft.

    Das stimmt, neben dem PC bin ich mittlerweile auch zu Apple gewechselt, beschäftige mich aber immer auch noch mit PC und sogar neuerdings einem Chromebook, obwohl ich mir gerade ein neues I-Pad zugelegt habe.

    Nun, Atari war ein Low Cost Produkt. Das sagen sogar die Atarianer selbst. Und mit dem großen Game Crash war die Branche zunächst tot, erfreut sich heute aber eine Art Wiederbelebung wegen der Erinnerungen einiger, die aus dieser Generation damit groß geworden sind.

    Es gibt übrigens noch ein BBC Basic. Das läuft auf einem Raspi unter Risc OS und auch plattformübergreifend. Auch diese Gruppe ist sehr aktiv. Interessant ist hier eben genau der Bereich Spieleentwicklung.

    bbcbasic.co.uk/bbcbasic.html

    Ja, ist alles Offtopic. Aber auch eine Ergänzung zu dem Thema Basic auf dem Mac.

    Ich finde übrigens, gerade wenn es um den Punkt "Logisches Denken" geht, dass man durchaus auch solche Konzepte nutzen kann. Man muss nicht nur die Lernumgebungen und Konzepte aktueller großer Hersteller und Marken adaptieren, sondern sollte auch einen Blick auf Nischen werfen.

    Gerade plattformübergreifende Lösungen sind auch ein Punkt, über den man mal nachdenken darf. Das Basic hier für Mac OS (DMG Image) läuft direkt, auch auf einem M1 Mac.
    Dateien

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