iPhone SDK - FAQ

musst below recht geben, leicht ist es nicht dafür was lohnenswertes zu schreiben, troztdem, durch solch ein klickibunti interface wagen sich auch, ich sags mal so, Laien an die SDK, und lernen vielleicht auch dadurch obj-c, was den vorteil hat, dass man es eben auch für mac os x brauchen kann.
ergebnis ist ein weiterer programmierer für OS X :)

klar, braucht es durchaus eine gewisse zeit bis man mal was vernünftiges machen kann, und so leicht ist die sprache auch nicht, aber eben durch das GUI von xcode etc ist die hemmschwelle etwas tiefergesetzt, die sprache zu lernen. :)

mein vorschlag also, wenn jemand vorhat, dann für das iPhone ernsthaft zu programmieren, und auch ein paar kröten verdienen will, am besten irgendein obj-c buch lesen, oreilly hat dazu gute im angebot.

Also für ganz Programmierunkundige ist das sicher nichts...

- Interface Builder und XCode Zusammenspiel ist abartig schlecht, Slots für die Signale (hm, heißen die so in Obj-C?) muss man im IB von Hand in die Klasse eintragen und dann nochmal in XCode, wenn man XIBs hinzufügen will, muss man von Hand das Ding in XCode einladen, im IB muss man oft mit "Proxy Objects" rummachen, bäh....

- XCode ist erbärmlich. Code Completion ist hirnlos und umständlich, die Fensterwüste ist grausam

- Interface Builder kennt vom UIKit offenbar nur die paar rudimentärsten Klassen, einen UIPickerView z.B. kann man gar nicht einsetzen (super job, Steve!)

Einzig der Browser für die Doku gefällt mir richtig gut....

Und die Sprache (MEIN GOTT!!) Objective-C ist ja erstmal eines: "Hauptsächlich anders"......nur gut, dass man wenigstens innerhalb der Methoden auf schön gewohntes C/C++ zurückfallen kann. Aber die Methodensignaturen und ihr Aufruf mit dieser Klammernotation macht mich noch verrückt!

Nichtsdestotrotz habe ich auch gerade mein erstes iPhone-Programm fertiggestellt, eine Fernbedienung für den VDR... und es war garnicth so schwer :)
 
Und die Sprache (MEIN GOTT!!) Objective-C ist ja erstmal eines: "Hauptsächlich anders"......nur gut, dass man wenigstens innerhalb der Methoden auf schön gewohntes C/C++ zurückfallen kann. Aber die Methodensignaturen und ihr Aufruf mit dieser Klammernotation macht mich noch verrückt!

Im Gegensatz zu anderen Sprachen beabsichtigt Objective-C, so wie Smalltalk, sich an natürlicher Sprache zu orientieren.

[Lisa throw:[ball withColor:red] to:Bob]

Und wenn Du das verwirrend findest, dann hast Du offensichtilich noch nie mit Lisp, Prolog oder Erlang gearbeitet.

Alex

EDIT: Sorry, ich vergass: Oh ja, C++ ist die allertollste Sprache, die man sich denken kann. Oder was willst Du von mir hören?
 
Anders ist ja schon einmal ganz schlecht.

Bei manchen "ITlern" hat man ja den Eindruck, dass sie Archäologie für modernen Krimskrams halten.
 
Alex, das Beste sind immer noch die Slots für Signale. Da sieht man, wie wichtig es ist, sich wenigstens rudimentäre Kenntnisse anzueignen, bevor man etwas beurteilt.

Es ist schon gut, dass Apple letztlich die Hand drauf hält, was aufs iPhone darf. Das wird mir jeden Tag klarer …
 
Alex, das Beste sind immer noch die Slots für Signale. Da sieht man, wie wichtig es ist, sich wenigstens rudimentäre Kenntnisse anzueignen, bevor man etwas beurteilt.

Es ist schon gut, dass Apple letztlich die Hand drauf hält, was aufs iPhone darf. Das wird mir jeden Tag klarer …

Slots und Signale gibt es aber nicht nur mit Cocoa, auch andere Frameworks nutzen das, Qt z.B....

Und nein, auch C++ ist eine kranke Sprache, ich bevorzuge Pascal ;-)
 
Slots und Signale gibt es aber nicht nur mit Cocoa, auch andere Frameworks nutzen das, Qt z.B....

Und nein, auch C++ ist eine kranke Sprache, ich bevorzuge Pascal ;-)

Slots und Signale gibt es aber nicht in Cocoa. Man verwendet das Action-Target-Muster oder Target-Bindings. Je nach Problemstellung auch Delegating.

Deine Beiträge zeigen, dass du dich noch nicht länger als 30 Minuten mit Objective-C und Cocoa beschäftigt hast. Es ist daher nicht sinnvoll, irgendwelche Aussagen darüber zu machen.
 
Slots und Signale gibt es aber nicht in Cocoa. Man verwendet das Action-Target-Muster oder Target-Bindings. Je nach Problemstellung auch Delegating.

Achso, jaja, wenns anders heißt, wirds was Anderes sein ;-)

Deine Beiträge zeigen, dass du dich noch nicht länger als 30 Minuten mit Objective-C und Cocoa beschäftigt hast. Es ist daher nicht sinnvoll, irgendwelche Aussagen darüber zu machen.

Och, doch schon ein paar Tage.
 
Achso, jaja, wenns anders heißt, wirds was Anderes sein ;-)
Ja, das ist es. Es ist nämlich gar nichts eigenes der Interface-Definition, sondern das Ausnutzen des ohnehin vorhandenen dynamischen Dispatchings. Es verhält sich in etwa wie Konstante zu Variable. Oder siehst du irgendwo in deiner Source "verdrahtete" Zurodnungen für den Compiler?

Wenn du dich irgendwann mal mit der Grundkonzeption von Objective-C beschäftigt hast, kannst du mir ja mal deine Implementierung von Bindings in C++ hier demonstrieren. Du kannst es auch anders nennen.

Weil das dynamische Dispatching eine mitgebrachte Eigenschaft von Obejctive-C ist, benötigt man auch keine Spracherweiterungen und Spezialcompiler, um die schlimmsten von C++ verursachten Schmerzen zu lindern.

Och, doch schon ein paar Tage.
Ich würde dir empfehlen, noch einmal vorne anzufangen. Auch wenn du ständig Bekanntes wiederzuentdecken meinst, liegst du damit nämlich schon grundlegend und konzeptionell falsch.

Das führt dann zu solchen Beiträgen wie "Kenne ich schon, heißt nur anders …" Dienlich sind die nicht gerade. Sie belegen auch Unkenntnis und nicht Fachkenntnis.
 
Zuletzt bearbeitet:
Nabend Leute,


stehe gerade etwas auf dem Schlauch: Hab mir das SDK runtergeladen und installiert. Möchte gern ein wenig mit der Erstellung von WebApps experimentieren.

Ich finde aber das installierte Programm nicht (??) - wie heißt es und wo, wenn nicht im Ordner Programme, finde ich die App mit der SDK-Oberfläche (?):

screenshot_01.jpg

Gruß. Yiit
 
/Developer/Applications/Xcode

Ach so für Webapps brauchst du das nicht.
 
OK - habe jetzt herausgefunden, dass das mit Dashcode machbar ist. Habe jetzt mal eine Frage - ich hoffe, dass ich hier richtig bin:

Ich möchte in eine einfache WebApp einen Live-Stream (Video) einbinden. Der Stream erfolgt über die Software SequritySpy und diese gibt mir folgenden HTML-Code an:

Code:
<head><title>Live Video</title><style type="text/css">
<!--
p {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px}
-->
</style>
<script language=javascript>function OpenPTZWindow(cameraNum) {
window.open("++ptz/controls?cameraNum="+cameraNum,"PTZ"+cameraNum,"toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=230,height=190");
}</script></head><body>
<div align="center">
<applet code="CamViewerApplet" archive="CamViewerApplet.jar" width=320 height=240>
<param name="CameraNum" value="0">
<param name="CameraName" value="Built-in iSight">
<param name="Codec" value="jpeg">
<param name="Auth" value="eWlpaXQ6c2FrcmFuODFwYXNh">
Your browser does not support Java - please enable Java or use a different viewing method
</applet>
<form name="form2"><p></p></form></div></body>


In die index.html aus dem SDK integriert sieht das so aus:

Code:
[SIZE="1"]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <title>ET24 OfficeCam</title>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta name="viewport" content="minimum-scale=1.0, width=device-width, maximum-scale=1.6, user-scalable=no">
    <link rel="apple-touch-icon" href="Images/HomeScreenIcon.png">
    <link rel="stylesheet" href="main.css">
    <script type="text/javascript" src="Parts/utilities.js" charset="utf-8"></script>
    <script type="text/javascript" src="Parts/setup.js" charset="utf-8"></script>
    <script type="text/javascript" src="main.js" charset="utf-8"></script>
    <script type="text/javascript" src="Parts/Text.js" charset="utf-8"></script>
</head>
<body onload="load();">
    <div id="rectangleShape">
        <div id="text"></div>
    </div>
</body>
<head><title>Live Video</title><style type="text/css">
<!--
p {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px}
-->
</style>
<script language=javascript>function OpenPTZWindow(cameraNum) {
window.open("++ptz/controls?cameraNum="+cameraNum,"PTZ"+cameraNum,"toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=230,height=190");
}</script></head><body>
<div align="center">
<applet code="CamViewerApplet" archive="CamViewerApplet.jar" width=320 height=240>
<param name="CameraNum" value="0">
<param name="CameraName" value="Built-in iSight">
<param name="Codec" value="jpeg">
<param name="Auth" value="eWlpaXQ6c2FrcmFuODFwYXNh">
Your browser does not support Java - please enable Java or use a different viewing method
</applet>
<form name="form2"><p></p></form></div></body>
</html>
[/SIZE]

Per Safari auf dem Mac kann ich den Stream problemlos abrufen, aber mit dem iPhone nicht :(

Ich habe nur einfache HTML-Kenntnisse und kann den Wurm daher nicht erkennen - kann mir da jemand helfen?

Dank & Gruß
 
Zuletzt bearbeitet:
Hab mir das SDK runtergeladen und installiert. Möchte gern ein wenig mit der Erstellung von WebApps experimentieren.

Das iPhone SDK hat so ziemlich nichts mit WebApps zu tun. WebApps ist eine andere Baustelle.

Alex
 
Hi zusammen, freigeschaltete Developer unter uns? Bin jetzt seit Pfingsten im Programm, im "Preinstallation Advisory" steht nur was von der Aktivierung mit AT&T.... geht T-Mobile problemlos mit dem Beta-OS?
 
Ich muss gestehen, ich bin noch nicht zur Freischaltung gekommen :shame:

Aber ich gehe davon aus

Alex
 
Jo zusammen, war mutig - es geht, nachdem man das Teflon im Program Portal unter Devices registriert hat... ansonsten aktiviert es nicht.
 
Ich habe das SDK-beta runtergeladen und wenn ich es installiere steht nach der installation,dass ich den computer herunterfahren soll.wenn ich ihn wieder einschalte finde ich das sdk nicht unter programme.ich habe mit spotlight xcode und iphonesimulator gesuch und beide geöffnet.der simulator ging,bis ich das xcode startete und auf build and go klicke.dann sagt der simulator,dass er das sdk nicht findet.
Bitte um hilfe.
vielen dank schon im voraus, JACK_ME
 
Jo zusammen, war mutig - es geht, nachdem man das Teflon im Program Portal unter Devices registriert hat... ansonsten aktiviert es nicht.

Funktioniert das iPhone damit noch problemlos?
Also laufen alle mitgelieferten Programme/Dienste noch?

Speziell: Telefon, SMS, e-Mail

Hab mich bislang nicht getraut, die Firmware draufzupacken, weil man ja auch nicht wieder auf 1.1.4 downgraden kann (auf offiziellem Wege zumindest nicht).
 
Die 2.0 Beta7 läuft spitzenmäßig stabil und ja, alle Funktionen gehen und auch die neuen Funktionen gehen. Mobile Me Support ist noch nicht eingebaut.
 
Danke. Hab's mir grad auch installiert. Dauert ja ganz schön lange.
Läuft aber wirklich alles noch.

Einzig Mail ist mir beim Löschen einer Mail abgestürzt, aber das lag wohl eher an der Mail.
 
Blöde Frage, kann man damit irgendwie "Pushtechnik" in eine App einbauen?

Beispiel: Ich starte über eine eigene Web-App eine Aktion (z.B. zeige roten kreis) und bei allen angemeldeten User mit Iphone (die natürlich in dem Moment auch Internetverbindung haben) wird direkt im Anschluss eben dieser rote Punkt in der geöffneten App angezeigt. Ohne irgendwie auf "Abrufen" klicken zu müssen etc.

Geht sowas? :confused:


P.S. Falls das einer kann, darf er sich gleich per PN melden :cake:
 
Zurück
Oben Unten