Virtual Box skalierte Anzeige verlassen

In der skalierten Anzeige von Virtual Box kann es zu dem Problem kommen, diese wieder zu verlassen, weil man beispielsweise die Größe anpassen möchte oder die Navigationsleite fehlt.

Diese kann man mit dem folgenden Commands beenden / wechseln:

Vollbildmodus einschalten HOST+F
Nahtlosen Modus einschalten HOST+L
Skalierten Modus einschalten HOST+C

zusätzlich:

Automatische Anpassung der Gastauflösung HOST+G
Fenstergröße anpassen HOST+A

Host ist meistens die rechte Steuerungstaste

CCC Event in Berlin + streams

Derzeit sind ja die 28C3 von CCC vom Chaos Computer Club und sind damit in aller Munde. Quasi alle Vorträge werden in den einschlägigen Medien wie heise etc. aufgegriffen und zu Artikeln verarbeitet.
Ich will hier nichts nachkauen sondern einfach auf die Seiten verweisen:

http://events.ccc.de/ die event seite
http://28c3.fem-net.de/ Streams zu den Vorträgen

Für alle Technik-afinen zu empfehlen, manche Vorträge haben es echt in sich und bieten eine Stunde unkonventionelle Ansätze zu IT Themen.

Stay tuned

Ubuntu vi Problem mit Pfeiltasten

Bei den neueren Versionen von Ubuntu kann es probleme mit den Pfeiltasten in vi kommen. Die Pfeiltasten werden dabei nicht zur Navigation im insert Mode genutzt, sondern liefern deren Steuerzeichen. Dadurch wird die Navigation deutlich erschwert.
Abhilfe schafft die folgende Änderung in der config file: /etc/vim/vimrc.tiny

Vorher:

set compatible

Nachher

set nocompatible

Problem gelöst

iPhone Sicherheit aus Sicht eines Entwicklers

Derzeit kursiert durch die Medien die neue Jailbreak-Möglichkeit über den einfachen Aufruf einer Webseite. Dies mag für viele Nutzer des iPhones und des Cydia Stores schön sein, können jetzt wieder Programme ohne Apples zutun installiert werden. Die Kehrseite dieser Medaille ist jedoch die Tatsache, dass diese Lücke auch von „bösen“ Jungs genutzt werden kann um iOS Devices zu infizieren. Die Schwachstelle ist mittlerweile öffentlich zugänglich und befindet sich im PDF Viewer von iOS. Denkbar sind Tools, die sich ohne Zutun auf dem Gerät installieren, Daten auslesen, Gespräche mitschneiden etc. der Fantasie ist an dieser Stelle keine Grenzen gesetzt.

Sogar das BSI warnt heute vor der Schwachstelle.

Waren bis vor ein paar Jahren die einzigen sensiblen Daten auf dem Telefon noch Telefonnummern, Verbindungsdaten und SMS, sind die heutigen Smartphones zu einem Begleiter im Alltag nicht mehr weg zu denken. Das Smartphone erfasst Bewegung des Nutzers, empfiehlt ihm Freizeitmöglichkeiten oder dient als reines Unterhaltungsinstrument. Die Daten, die auf einem solchen Gerät zu finden sind, würde man, ausgedruckt auf Papier, im eigenen Heim wohl nur in den Safe sperren. Kriminelle können mit ergaunerten Daten z.B. eine digitale Kopie der Identität erzeugen und auf fremde Namen einkaufen oder schlicht das Adressbuch des Opfers zu Spamzwecken missbrauchen. Im Leitartikel der aktuellen SPIEGEL Ausgabe werden sehr schön die Auswüchse der Netz-Kriminalität ausgeführt. Welche Abarten in der schattigen Netzwelt keimen kann man dabei nur vermuten.

Aus Entwickler-Sicht steht man dem Jailbreak eher kritisch gegenüber, entzieht sich der Cydia Store doch der Überprüfung von Apple und nimmt vielen Entwicklern durch die kostenlose Verteilung eine Haupteinnahmequelle. Wobei natürlich zu bedenken ist, wer ein solches Gerät kauft, sollte damit auch tun und installieren können, was er möchte.

Fazit: Schützen kann man sich vor der aktuellen Lücke nur durch aktives Nicht-Besuchen von unbekannten Webseiten.

Webseite überarbeitet

In den letzten Tagen habe ich mich daran gemacht, die Struktur der Webseite etwas zu verändern. So ist es nun kein reiner Blog mit Artikeln, sondern es ist auch ein Platz geschaffen worden, in dem ich eigene Projekte aufliste. Diese Projekte sind in iOS und Web-Projekte unterteilt.

Jedes Projekt wird dabei kurz beschrieben, ein Link zum eigentlichen Projekt und die Kerntechnologien werden aufgeführt.

Zeitgleich wurde die Startseite überarbeitet, die jetzt nicht mehr nur die letzten Artikel aufzeigt, sondern eine kurze Einführung darstellt.

Die letzten Artikel bekommt man auf jeder Seite auf der rechten Seite angezeigt.

Viel Spaß

Infos zu einer App: Version – Sprache

Eine App für eine breite Kundschaft zu entwickeln bedeutet auch, eine Vielzahl an Variationen von Problemmöglichkeiten zu kreieren. Wenn dann wirklich ein Problem auftritt, möchte man vom Kunden möglichst genau dessen Rahmenbediengungen kennen.

Dazu zählt bei einer iOS App insbesondere:

Quelle:

Welche App hat er genau genutzt?

Version:

Welche Version der App wurde verwendet? Wurde evtl. eine alte Version genutzt und ein reines Update würde helfen?

Sprache:

Welche Sprache ist eingestellt? Kommt das Problem evtl. von einem Übersetzungsfehler / einer fehlenden Übersetzung?

iOS Version:

Apple verhindert zwar recht gut, Funktionen zu verwenden, die in bestimmten iOS Versionen noch nicht oder nicht mehr verfügbar sind, nichts desto trotz, ist es bei Fehlern wichtig, zu wissen, welche iOS Version verwendet wird.

Die meisten der Informationen sind über [[NSBundle mainbundle] infoDictionary] erreichbar:

App Identifier: [[NSBundle mainBundle] infoDictionary] valueForKey:@“CFBundleIdentifier“]
App Version: [[NSBundle mainBundle] infoDictionary] valueForKey:@“CFBundleVersion“]

Die Sprache erhält man über: [[NSUserDefaults standardUserDefaults] objectForKey:@“AppleLanguages“] objectAtIndex:0]

Und zu guter letzt die iOS Version:
[[NSProcessInfo processInfo] operatingSystemVersionString] Hierbei ist darauf zu achten, dass im Simulator als Betriebssystem die OSX Version angegeben wird.

Mit den aufgeführten Angaben lässt sich schon recht genau das technische Umfeld des Nutzers eingrenzen und diese Informationen können automatisch beispielsweise in einer E-Mail angehängt werden.

Dabei bietet es sich an, die ankommenden E-Mails automatisch in ein Ticket System laufen zu lassen um auch keine Meldung zu vergessen. Als praktisch hat sich hierbei die OpenSource Ticket Verwaltung OTRS erwiesen. Auch für den professionellen Einsatz lohnt sich das System, da hinter den Entwicklern eine Firma steckt, die auch professionellen Support anbietet und Unterstützung bei der Umsetzung anbieten kann.

iPhone ADHoc build save to disk problem

Mit XCode können nicht nur Apps an den Apple App Store geschickt werden, registrierte Entwickler können auch an registrierte iOS Devices so genannte ADHoc Builds verteilen.

Dabei wird die Datei vom Ersteller signiert und dann lauffähig. Wie das ganze erledigt werden kann, habe ich in diesem Artikel beschrieben: ios-betabuilder-version-1-5-released. (Der BetaBuilder ist mittlerweile übrigens im MacStore erhältlich).

Was nun wenn es bei dem beschriebenen Vorgehen Probleme gibt? Beispielsweise kann es vorkommen, dass der Organizer bei dem Klick auf „Save to disk“ einfach nicht reagiert, ohne Fehlermeldung etc. Ein Blick in die logs mittels:

tail -f /var/log/system.log

bringt ein

header check failed

um Vorschein.

Mögliche Lösungen:

– „Project clean“ und neu builden

– XCode neu starten

– Rechner neu starten

– XCode neu installieren, Projekt cleanen, Projekt builden

Xcode 4 refactoring deaktiviert

Mit der neuen Version von Xcode hat Apple einige Neuerungen und Verbesserungen gebracht. Einige Dinge fallen jedoch negativ auf.

Da wäre die beliebte Refactoring-Funktion. Refactoring bezeichnet:

Refactoring (deutsch auch RefaktorierungRestrukturierung oder Umgestaltung) bezeichnet in der Software-Entwicklung die manuelle oder automatisierte Strukturverbesserung von Programm-Quelltexten unter Beibehaltung des beobachtbaren Programm-Verhaltens. Dabei sollen die Lesbarkeit, Verständlichkeit, Wartbarkeit und Erweiterbarkeit verbessert werden, mit dem Ziel, den jeweiligen Aufwand für Fehleranalyse und funktionale Erweiterungen deutlich zu senken.

Quelle: Wikipedia

D.h. über Refactoring kann beispielsweise eine Variable umbenannt werden, wobei die Entwicklungsumgebung dafür sorgt, dass diese Variable überall wo sie vorkommt, umbenannt wird. Auf das extrahieren von Quellcode in eine Extra Methode mit entsprechendem Funktionskopf fällt unter das Refactoring.

Wo hat Apple hier aber nun geschlafen? Wer ein „altes“ Xcode 3Projekt hatte, und dies in Xcode 4 öffnet, wird sich bei einem Rechtsklick wundern, alle Refactoring Optionen sind ausgegraut.

Mit dem Update 4.0.1 hat Apple das Problem behoben, nach einem Project-Clean kann wieder die Refactor-Funktion genutzt werden.

Neuerungen in XCode 4.0.1:

– Improved Assistant editor logic when switching among different file types
– Fixed a bug in „Install Xcode.app“ that hangs at 99% complete, never finishing
– Fixed a bug that prevented indexing of some projects
– Fixed a bug related to nil settings in the Core Data model editor
– Fixed a bug that prevented automatic download of iOS documentation
– Fixed a bug in LLVM GCC 4.2 and LLVM compiler 2.0 for iOS projects
– Additional bug fixes and stability improvements

Update 2014: Mittlerweile ist XCode bei Version 6 angelangt.

Wie erstelle ich meine erste iPhone Applikation

iPhone – das immer noch aktuelle Trendgerät hat gerade durch den AppStore und XCode eine große Fangemeinde, bei der die Hürde, vom Konsumenten zum Entwickler zu werden, so niedrig wie wohl noch nie gelegt wurde.

Wer viel mit dem iPhone arbeitet oder spielt, bekommt früher oder später den Gedanken „xyz wäre doch eine super iPhone Anwendung“.

Welche Schritte sind aber notwendig, um von der Idee zum fertigen Programm zu kommen?

Die Idee

Ohne eine Idee kein App.Ohne gute Idee keine gute Applikation! Aber, was macht eine Applikation gut?

  • löst das Programm ein bis dato ungelöstes Prolem?
  • geht das Programm in eine bestimmte Niesche? / betrifft es eine Randgruppe?
  • bringt es Leute zum lachen?
  • eine Verbesserung eines bereits vorhandenen Programms?

Wenn eine der Fragen mit Ja beantwortet wurde, ist man auf dem richtigen Weg!

Tools

Die folgenden Dinge sollte man sich besorgen um eine Applikation zu entwickeln

Was kann man gut?

Wie bei jedem anderen Unternehmen, welches man gründen möchte, muss man selbstkritisch sehen, in welchen Dingen man gut ist. Eigene Schwächen zu kennen ist wichtiger als eigene Stärken zu kennen, denn die Schwächen können durch andere professionelle Mitarbeiter ausgeglichen werden. Diese Schwächen nicht zu kennen kann später bares Geld kosten.

Notwendige Skills:

  • Unterscheidung zwischen „Was geht“ und „Was geht nicht“ in Bezug auf bestehende iPhone Apps
  • Markt Analyse
  • Sitemap der Applikation erstellen / Funktionalität abstakt darstellen
  • Zeichnen
  • GUI Design
  • Programmierung (Objective C, Cocoa)
  • Vermarktung und Werbung für die Applikation

Nach Abarbeitung dieser Liste, sollte klar sein, was man selbst kann, und was nicht, für die Schwöchen sollten Kollegen zugezogen werden.

Markt Analyse

Um eine Applikation zu vermarkten, muss der Markt bekannt sein. Der Markt teilt sich dabei in Programme, welche gute Lösungen haben und die, die schlechte Lösungen haben. Die perfekte Applikation wird man dabei nicht finden, jede hat Stärken und Schwächen. Ziel sollte es sein, gute und schlechte Funktionalitäten und Ideen zu assimilieren.

Welcome Xcode 4

Xcode 4

Xcode 4

Ab heute ist das neue iOS 4.3 für iPhone 4, iPhone 3 GS, iPad und iPad 2 verfügbar. Ersten Hinweisen zu Folge sogar schon für das kommende iPhone 5.

Zusätzlich hat Apple die neue Version der Entwicklungsumgebung Xcode 4 für die breite Öffentlichkeit zugänglich gemacht. War es bisher registrierten (zahlenden) Entwicklern vorbehalten, darf nun jeder die neue Version nutzen. Jeder? Nicht ganz, war Xcode bisher kostenfrei, muss es ab jetzt im MacStore für 3,99 € gekauft werden.

Neuerungen in Xcode4:
Single-Window-Interface
Integrierter Interface Builder
Apple LLVM Compiler 2.0 inklusive Live Issues und Fix-It
Versionseditor (Git)
Neuer Debugger
Instruments for Xcode 4

Sehr schön ist auch das schon verfügbare Shortcut Blatt.

Weitere Artikel zum Thema:
Golem
Macnotes