Beiträge

CoreData’s not SQL – dieser Slogan begegnet dem iOS-Entwickler, der in die CoreData-Welt einsteigt, an vielen Stellen – vor allem wenn es um die Selektion von Objekten/Entitäten geht. Zurück bleibt oft die Frage: Und was ist nun CoreData? Oder wie selektiere ich die Objekt, die mich interessieren?

Weiterlesen

Seit gut 3 Jahren verwenden wir Jenkins als Plattform für eine Continuous Integration Umgebung für iOS-Projekte.

Zu den Hauptaufgaben des Systems gehören die ständige Überprüfung der Baubarkeit von Projekten nachdem Quellcode in ein Source-Control-Management (SCM) System eingecheckt wurde und die Verteilung der Build-Produkte an eine interne Over-the-Air (OTA) Distribution Plattform sowie direkt an unsere Kunden.
Darüber hinaus unterstützen wir verschiedene Build-Job Konfigurationen zur automatischen Quellcode-Dokumentation und Code-Analyse:

  • Ausführung von OCUnit-Tests und Messen der Testabdeckung,
  • Statische Code-Analyse,
  • Erstellung von Code-Metriken,
  • Copy-Paste-Detection,
  • Appledoc und Headerdoc.

Weiterlesen

Dank der iOS 6 Einführung ist es vermutlich endlich soweit, dass Apple den Kauf von Apps für die Mitarbeiter seiner Firmenkunden ermöglicht.

Lange haben Firmen darauf gewartet, jetzt wird es endlich Realität. Wovon andere Plattformen noch meilenweit entfernt sind, hat Apple damit in vielen Ländern umgesetzt.

Wozu genau soll das gut sein? Weiterlesen

Den Themenschwerpunkten
„einfach zu lesender Objective-C Code“ und „neue Features des llvm Clang Compilers „ reiht sich auch dieser Artikel ein und geht dabei kurz auf die Neuerungen der aktuellen Clang-Compiler Versionen 3.1 (Xcode 4.3) und 4.0 (Xcode 4.4) im Hinblick auf die Erweiterungen der Programmiersprache Objective-C ein. Auch das demnächst offiziell verfügbare Xcode 4.5 bringt einige nennenswerte Source-Code relevante Neuerungen mit sich.

In dem folgenden „zusammenhangslosen“ Code-Schnipsel habe ich versucht ausschließlich auf die Neuerungen einzugehen ohne eine sinnhafte Code-Sematik zu präsentieren. Weiterlesen

Heute widmen wir uns einem Thema, das tagtäglich jeden iOS-und MacOS-Entwickler betrifft: Das Erstellen und Lesen von Code. Genauer gesagt die Erstellung von Objective-C Klassen und deren „Aufteilung“ in Header bzw. Implementations-Dateien (.h/.m). Hierbei befindet sich jeder Entwickler sowohl in der Rolle eines „API-Nutzers“, also durch Nutzung/Einsatz von Klassen anderer Entwickler im Team oder anderen externen Libraries (OpenSource oder ClosedSource-Binary). Zugleich ist man als Entwickler durch Generierung von eigenen Klassen auch immer in der Rolle eines „API-Erstellers“ (also für die anderen Entwickler oder gezielt zur Publizierung einer Library/Framework).

Naturgemäß fällt der erste Blick eines Entwicklers, wenn er zum ersten mal mit fremdem (aber auch eigenem) „C-basierten“ Code umgehen muss, auf die Header-Dateien der einzelnen Klassen. Diese .h-Dateien dienen hierbei als „Schnittstelle zur Aussenwelt“ und geben dem Entwickler einen ersten Eindruck über Funktionsweise der Klasse und eine erste Idee, wie diese am besten in den bisherigen eigenen Code zu integrieren ist. Weiterlesen

Apple arbeitet ständig an Neuerungen, die oft auch ohne großes Medieninteresse live gehen aber bei genauer Betrachtung gerade für Firmenkunden große Mehrwerte bringen.

Hier die wichtigsten Neuigkeiten zum Thema iOS im Unternehmenseinsatz:

  1. Das sogenannte Volume Purchase Programm welches bisher nur Universitäten vorbehalten war ist auch für Unternehmen verfügbar. Das bedeutet Unternehmen können ihre Mitarbeiter mit App-Store Applikationen ausstatten ohne dass jeder Mitarbeiter diese einzeln über Voucher oder Firmenkreditkarte und eigenen Account benötigt. Im Moment nur in USA aber sicher bald auch in Deutschland verfügbar:
    http://www.apple.com/business/vpp/
  2. Das Apple Konfigurationsprogramm mit welchem bisher Konfigurationsprofile für einzelne Geräte erstellt werden wurde um eine weitere Anwendung ergänzt. Jetzt können mit dem Apple Configurator bis zu 30 Geräte verwaltet und konfiguriert werden. Dazu gibt es noch eine zentrale Backupmöglichkeit der Geräte.
    http://support.apple.com/kb/HT5194
    http://www.iphone-ticker.de/gerateverwaltung-neues-iphone-konfigurationsprogramm-und-apple-configurator-fur-bis-zu-30-ios-gerate-31411/ 
  3. Verschlüsselte Mails über Exchange gibt es zwar schon seit iOS5. Der Vollständigkeit halber hier noch Hinweise zur Konfiguration:
    http://support.apple.com/kb/HT4979

Ein weiteres spannendes Thema ist die in-House Distribution von Applikationen für Firmen die eigene Anwendungen entwickeln und diese nicht in den Appstore bringen wollen. Dazu werden wir in Kürze einen weiteren Artikel veröffentlichen.

Bis zur Veröffentlichung von iOS 5 hat ein iOS-Entwickler keine all zu große Überlegungen treffen müssen wo in seiner App-Sandbox (auf dem Dateisystem) der „richtige“ Speicherort seiner App-Daten (Bilder, XMLs, Audio/Video, SQL-DBs, etc.) ist. Meist war der <APPHOME>/Documents Ordner die erste Wahl.

Seit dem Release von iOS 5 hat sich jedoch einiges geändert. Apple hat seinen Daten-Synchronisationsdienst iCloud tief in das Betriebssystem integriert, so dass von heute auf morgen plötzlich jede App direkt oder indirekt von diesem Dienst bzw. dessen Auswirkungen betroffen ist. Weiterlesen

Mit der Veröffentlichung des iOS 5 SDKs hat auch Apples Entwicklungsumgebung Xcode einen großen Versionssprung bekommen (von 3.x auf 4.x). Es kamen viele neue Features hinzu, ein neuer Compiler, ein neuer Linker, ein neuer Debbuger, usw. Bis der geneigte Entwickler alle Neuerungen entdeckt und seinen Entwickkungsprozess sicher nutzen kann, vergehen i.d.R. einige Wochen/Monate.

Eine Neuerung/Änderung fällt jedoch relativ schnell auf, wenn man sich mit einem unerklärlichen App-Crash beschäftigt. Weiterlesen

Die Einführung des iOS 5 SDKs und der dazugehörigen Entwicklungsumgebung XCode 4.2.x ist auch gleichzeitig als Geburtsstunde des neuen Clang 3.0 Kompilers (llvm 3.0) zu betrachten. Durch den Einsatz des neuen Standard-Kompilers hat sich Apple zugleich auch vom bisher jahrelang mitgelieferten GCC-Kompilers endgültig verabschiedet. Ein Meilenstein für Apple, die Programmiersprache Objective-C, für die Features von XCode und nicht zuletzt für die iOS-Entwickler (auch MacOS Entwickler). Ohne auf all die zahlreichen Neuerungen einzugehen ist die für Entwickler herausragendste Neuerung zweifelsohne ARC.

Kurz beschrieben kann man über ARC (Automatic Reference Counting) sagen, dass man sich als Entwickler nun nicht mehr selbst um ein sauberes Memory-Management kümmern muss, Weiterlesen