Implementierung einer Visualisierungsanwendung für Apples ios

Größe: px
Ab Seite anzeigen:

Download "Implementierung einer Visualisierungsanwendung für Apples ios"

Transkript

1 Masterarbeit im Rahmen des Studiengangs Technomathematik Fachhochschule Aachen, Standort Jülich Fachbereich 9 Medizintechnik und Technomathematik Implementierung einer Visualisierungsanwendung für Apples ios Jülich, 9. August 2011 Christian Felder Peter Grünberg Institut und Jülich Centre for Neutron Science Technische und Administrative Infrastruktur Wissenschaftliche IT-Systeme Diese Arbeit wurde betreut von: Prof. Dr.-Ing. Dipl. Phys. Rainer Simonis Josef Heinen

2

3 Erklärung Diese Arbeit wurde im Peter Grünberg Institut - Jülich Centre for Neutron Science - Technische und Administrative Infrastruktur der Forschungszentrum Jülich GmbH konzipiert. Sie ist von mir selbstständig angefertigt und verfasst. Es sind keine anderen als die angegebenen Quellen und Hilfsmittel benutzt worden. Unterschrift Diese Arbeit wurde betreut von: Prof. Dr.-Ing. Dipl. Phys. Rainer Simonis Josef Heinen

4

5 Am Peter Grünberg Institut sowie am Jülich Centre for Neutron Science (JCNS) des Forschungszentrums Jülich ist schon seit Jahren eine standardisierte Grafikbibliothek im Einsatz, die auf einer Implementierung des grafischen Kernsystems (GKS) basiert. Zahlreiche Anwendungen und Programmschnittstellen aus dem Bereich der Instrumentierungs-, Simulations- und Auswertesoftware wurden auf der Basis dieser Bibliothek entwickelt, die sowohl von höheren Programmiersprachen als auch gängigen Interpretern angesprochen werden können. Die Anforderungen an die Grafiksoftware im wissenschaftlichtechnischen Umfeld sind in den letzten Jahren gestiegen, insbesondere der Bereich der Client-/Server basierten Visualisierungslösungen hat an Bedeutung gewonnen. Ziel dieser Arbeit ist es, die oben genannte Bibliothek auf mobilen Endgeräten der Firma Apple nutzbar zu machen. Auf der Basis der OpenGL ES Anwendungsschnittstelle des ios Betriebssystems sind erweiterte Funktionen zu implementieren, die den gewachsenen Ansprüchen an Interaktivität, Performance und Qualität gerecht werden. Dazu zählen spezielle Eingabegesten für die Transformation von dreidimensionalen Grafiken sowie der Aufbau einer effizienten Kommunikationsmethode für Livedaten. Hierzu ist ein Plugin zu entwickeln, das als eigenständige ios Anwendung eine komfortable mobile Schnittstelle zu vorhandenen Anwendungen bietet.

6

7 Inhaltsverzeichnis 1. Mobiles Visualisierungssystem 1 2. Beschreibung der Entwicklungsumgebung Voraussetzungen ios Developer Program ios Dev Center ios Provisioning Portal Objective-C ios Software Development Kit Verwendete Frameworks Bibliotheken und Frameworks von Drittherstellern Xcode Interface Builder ios Simulator Instruments Organizer Programmbeschreibung GR Schnittstelle Client-/Server basierte Kommunikation Asynchrone Netzwerkkommunikation Grand Central Dispatch (GCD) Visualisierung mit OpenGL ES Unterschiede zu OpenGL OpenGL ES Framework Klassenübersicht, verwendete Datenstrukturen Model View Controller Design Pattern Protokolle Koordinatensystem Oberflächen Farblegende Gesten Picking I

8 II Inhaltsverzeichnis 4. Verteilung der Anwendung - Rollout Ad Hoc Distribution ios Distribution Profile Anpassung der Build Settings Erzeugen des GLGr App Archivs itunes - Ad Hoc Installation des App Archivs Ausblick / Einsatz des Systems 42 Abbildungsverzeichnis 44 Literaturverzeichnis 45 A. Anhang 47 B. Die asynchrone Netzwerkschnittstelle NetworkController 48 II Christian Felder

9 1. Mobiles Visualisierungssystem Das Peter Grünberg Institut und das nach der Stilllegung des Jülicher Forschungsreaktors 2006 gegründete Jülich Centre for Neutron Science (JCNS) sind im Rahmen des Helmholtz-Programms Großgeräteforschung mit Photonen, Neutronen und Ionen (PNI) besonders im Bereich der Forschung mit Neutronen aktiv. An den modernsten und leistungsfähigsten Quellen weltweit, der nationalen Quelle FRM-II in München, am flussstärksten Forschungsreaktor ILL in Grenoble und an der MW Spallationsquelle SNS in Oak Ridge, USA, werden beim Instrumentbetrieb in Neutronenleiterhallen wissenschaftliche Daten durch Messungen gewonnen. Bei der Ansteuerung und Datenaufnahme kommen innovative Softwaretechnologien und standardisierte Hardwarekomponenten zum Einsatz. Neuentwicklungen wie zwei-dimensionale Detektoren und die damit einhergehenden Datenraten stellen große Herausforderungen an die Einrichtungen und Anwender. Aus diesem Grunde wurde 2010 die High Data Rate Processing and Analysis Initiative (PNI-HDRI) für das PNI Programm gegründet. Durch die gemeinsame, koordinierte Entwicklung und Bereitstellung geeigneter Infrastruktur (Hardund Software) sollen die hohen Datenraten effizient verarbeitet werden. Zur Zeit greifen speziell an die Experimente angepasste Programme über die GR 1 Schnittstelle auf die diskreten Messdaten zurück und visualisieren diese. Sowohl in der Aufbauphase als auch im späteren Produktionsbetrieb ist eine Online-Visualisierung notwendig, um Messergebnisse validieren und gegebenenfalls durch Steering 2 in die Messung eingreifen zu können. Im Rahmen dieser Masterarbeit habe ich hierzu eine Visualisierungsanwendung für Apples ios implementiert, die mit der GR Schnittstelle, welche auf einer Implementierung des standardisierten grafischen Kernsystems (GKS) basiert, zusammenarbeitet. Die Dokumentation der Entwicklungsumgebung, des Programms und des Rollouts bilden den Einstiegspunkt für spätere Weiterentwicklungen. Zukünftig ist es so möglich, sich mit ios fähigen Geräten von Apple Inc., wie beispielsweise dem ipad, Online-Visualisierungen in den Neutronenleiterhallen anzeigen zu lassen. In diesem Einsatzgebiet eignen sie sich insbesondere durch ihre kompakten Abmessungen und ihrer intuitiven Bedienung. Die abschließende Visualisierung am Arbeitsplatzrechner zur Auswertung und Erstellung von Präsentationsgrafiken bleibt hiervon unberührt. 1 GR - Graphics Schnittstelle 2 Veränderung/Steuerung von Parametern im laufenden Betrieb

10 2. Beschreibung der Entwicklungsumgebung 2.1. Voraussetzungen Die Entwicklung eigener Apps für Apples ios stellt einige Anforderungen an Hardware, Software und den Entwickler. So muss ein Mac mit Intel Prozessor und mindestens der Betriebssystemversion Mac OS X 10.6 Snow Leopard vorhanden sein, um die integrierte Entwicklungsumgebung (IDE) Xcode 4 von Apple Inc. installieren und nutzen zu können. Diese kann über das ios Dev Center [AIDEV] als registrierter Apple Developer bezogen werden. Die aktuellen Software Development Kits (SDKs) für das ios und Mac OS X Betriebssystem sind in dieser Version bereits enthalten. Für die Installation eigener Apps auf ios Geräten wird außerdem ein Team Provisioning Profile benötigt. Hierzu ist die Teilnahme am kostenpflichtigen ios Developer Program notwendig ios Developer Program Durch die Teilnahme am ios Developer Program erhält man Zugriff auf sämtliche Informationen und Ressourcen des ios Dev Centers. Ferner können ios Geräte für die Installation eigener Apps im ios Provisioning Portal vorbereitet werden. Mittels itunes Connect, einer Sammlung web-basierter Tools, ist es dem Entwickler möglich die Vermarktung seiner Anwendung im App Store zu managen. Dies wird im Rahmen dieser Arbeit nicht weiter behandelt, da es sich um eine In House App handelt, welche nicht über den App Store verteilt wird ios Dev Center Das ios Dev Center stellt die letzten Builds der aktuellen ios SDKs und der IDE Xcode, deren beta Versionen, sowie beta Versionen des ios Betriebssystems (ios 5 beta) zur Verfügung. Die vollständige Dokumentation der SDKs und Codebeispiele werden in der ios Developer Library [AI*] zur Verfügung gestellt, auch für nicht registrierte Benutzer. Das ios Dev Center bildet somit die Basis für jeden ios Developer.

11 KAPITEL 2. BESCHREIBUNG DER ENTWICKLUNGSUMGEBUNG ios Provisioning Portal Zertifikate Das ios Provisioning Portal unterstützt Developer bei der Verwaltung ihrer Zertifikate, den Team Provisioning Profiles. Bis zu 100 Geräte können im Jahr für Entwicklungsund Testzwecke mit einem Zertifikat registriert werden. Auf diesen können dann durch den Developer signierte Apps installiert und ausgeführt werden. Während der Installation wird überprüft, ob die Signatur der Anwendung zu einem der installierten Zertifikate von Apple oder der/des Entwickler/s (Team Provisioning Profiles) passt und bei Nichtübereinstimmung die Installation verweigert. Durch das sogenannte Provisioning verhindert Apple die Verbreitung und Installation nicht autorisierter Anwendungen auf Systemen mit ios Firmware. Abbildung 2.1.: Übersicht über das Entwicklerzertifikat im ios Provisioning Portal Die obere Abbildung zeigt eine Übersicht über die Zertifikate im ios Provisioning Portal. Über den Tab Distribution gelangt man außerdem zum Distribution Zertifikat. Dieses ist notwendig für die Verteilung der Anwendung. Die Zertifikate werden bei Teilnahme am ios Developer Program durch Apple ausgestellt und können über die entsprechenden Webseiten heruntergeladen werden, um Apps auf dem Entwicklungsrechner zu signieren. Hierzu können die Zertifikate in die Entwicklungsumgebung Xcode (wie unter Einbindung der Entwicklerzertifikate beschrieben) eingebunden werden. Registrierung der ios Devices Um die signierten Apps auf ein ios Device zu übertragen, muss dieses im Provisioning Portal registriert werden. Pro Jahr können bis zu 100 Geräte für Entwicklungs- und Testzwecke registriert werden. Das Hinzufügen eines Devices führt immer dazu, dass sich die verbleibende Anzahl registrierbarer Devices reduziert. Das Löschen eines oder mehrerer Devices erhöht diese Anzahl nicht. In Abbildung 2.2 sieht man eine Übersicht bereits registrierter ios Devices. Christian Felder 3

12 4 KAPITEL 2. BESCHREIBUNG DER ENTWICKLUNGSUMGEBUNG Abbildung 2.2.: Übersicht der registrierten Devices im ios Provisioning Portal Über die Schaltflächen Add Devices und Upload Devices können neue Geräte hinzugefügt werden. Die zweite Schaltfläche erlaubt es, eine ganze Liste in Form einer Datei auf einmal hinzuzufügen. Hierzu muss eine Eingabedatei mit dem ios Configuration Utility mit der Endung.deviceid oder manuell eine Textdatei (.txt) im folgenden Format erstellt werden. devices.txt # comment l i n e 79 add05387f d d13a01cf4336 f e l d e r s iphone b6138f2e8a18cac4d4c1635ae201d124aaae8bea ipad Die erste Zeile wird ignoriert und kann als Kommentarzeile genutzt werden. Danach werden zeilenweise die Device Einträge angegeben. In jeder Zeile wird hierbei zuerst der UDID 1 und daraufhin, durch Tabulator getrennt, der Device Name notiert. Neben der Registrierung über das Webinterface des ios Provisioning Portals können ios Geräte auch direkt in der Entwicklungsumgebung Xcode (wie unter beschrieben) registriert werden. Unique Device Identifier (UDID) eines ios Gerätes ermitteln Der Unique Device Identifier (UDID) eines ios Gerätes kann mit der Software itunes ermittelt werden. Hierzu muss das entsprechende Gerät per USB 2 -Kabel mit dem itunes Rechner verbunden werden. Das entsprechende Gerät ist anschließend aus den gelisteten Devices auszuwählen. Durch Auswahl des Summary Tabs werden die zum Gerät zugehörigen Informationen angezeigt. Statt des UDIDs wird häufig nur die Seriennummer des Gerätes angezeigt. Mit einem Klick auf die Seriennummer kann zwischen der Anzeige des Identifiers und der Seriennummer umgeschaltet werden. 1 UDID - Unique Device Identifier 2 USB - Universal Serial Bus, Schnittstelle des Computers 4 Christian Felder

13 KAPITEL 2. BESCHREIBUNG DER ENTWICKLUNGSUMGEBUNG 5 Abbildung 2.3.: Unique Device Identifier (UDID) eines ios Gerätes in itunes anzeigen In Abbildung 2.3 wird der UDID mit der Software itunes ermittelt. Alternativ kann dieser mit dem Organizer der Entwicklungsumgebung Xcode (wie unter beschrieben) ermittelt werden Objective-C Historie In den 70er Jahren wurde von einem Entwickler Team, u. a. Alan Kay, welcher später zu Apple wechselte, und Dan Ingalls vom Xerox Palo Alto Research Center (Xerox PARC), die objektorientierte Programmiersprache Smalltalk entwickelt. Brad Cox und Tom Love griffen in den 80er Jahren die objektorientierten Konzepte von Smalltalk auf und erweiterten die hardwarenahe prozedurale Programmiersprache C zu Objective-C. Die von Steve Jobs 1986 neu gegründete Firma NeXT lizenzierte Objective-C und entwickelte darauf basierend ein neues Betriebssystem, NeXTstep genannt. In Zusammenarbeit mit Sun Microsystems wurden dessen Schnittstellen in der Spezifikation OPENstep standardisiert. Eine freie Implementierung dieser Spezifikation ist das GNUstep Projekt wurde NeXT durch Apple aufgekauft. NeXTstep bildete die Grundlage für das heute bekannte Mac OS X und später das ios Betriebssystem, welches eine Variante des Mach Kernels von Mac OS X verwendet. [LSNOE] Christian Felder 5

14 6 KAPITEL 2. BESCHREIBUNG DER ENTWICKLUNGSUMGEBUNG Eigenschaften Objective-C erweitert die prozedurale Programmiersprache C um objektorientierte Aspekte und bildet somit funktional eine Obermenge von C. Sie unterscheidet sich von anderen objektorientierten Programmiersprachen, wie beispielsweise der zur gleichen Zeit entstandenen Sprache C++, durch das dynamische/späte Binden. Die Klassenzugehörigkeit eines Objekts wird beim dynamic dispatch erst zur Laufzeit ermittelt. Es ist somit nicht mehr erforderlich, dass die aufrufende Instanz die Klassenzugehörigkeit eines Objektes oder deren Basis kennt. Sie muss lediglich den richtigen selector (Methodennamen) auf dem Objekt aufrufen. Es ist sogar möglich zur Laufzeit mit der Methode respondstoselector: zu überprüfen, ob ein Objekt die entsprechende Methode implementiert (Runtime Type Information / RTTI ) und diese anschließend mit dem Aufruf performselector: unter Angabe des Selectors auszuführen. In diesem Zusammenhang können stark- (strongly typed variables) als auch schwach typisierte Variablen (weakly typed variables) vom Typ id verwendet werden und erhöhen damit die Dynamik der Programmiersprache. In C++ hingegen muss bereits zur Compilezeit die Klassenzugehörigkeit einer Objektinstanz sichergestellt sein. Um die Vererbung, das Ableiten von anderen Klassen, zu unterstützen, müssen die entsprechenden Methoden in C++ als virtual deklariert werden. Auch hier wird erst zur Laufzeit, bei Aufruf der Methode, durch das dynamic dispatching die entsprechende Einsprungadresse im Code bestimmt. Diese Adressen werden vom Compiler in einer virtuellen Tabelle verwaltet. Zu den weiteren sprachlichen Mitteln von Objective-C gehören Properties, durch deren Deklaration im header file der Compiler dazu angewiesen wird, die entsprechenden accessor (getter- und setter-) Methoden automatisch zu generieren, Protocols, die es erlauben optionale- als auch verpflichtende Methoden zu deklarieren, die von den entsprechenden Klassen, die zu diesem Protokoll konform sind, implementiert werden und Categories, durch die eine Klasse mit Methoden erweitert werden kann ohne diese abzuleiten, auch wenn diese nicht von einem selbst implementiert wurde. Durch Kategorien können außerdem Methoden überladen werden; es wird allerdings nicht empfohlen, da dies zu ungewollten Seiteneffekten führen kann. Ferner ist es nicht möglich, neue Instanzvariablen zu einer bestehenden Klasse hinzuzufügen, wie es beim Subclassing möglich ist. Viele weitere Eigenschaften sind nicht durch die Sprachdefinition selbst, sondern durch die verwendeten Frameworks festgelegt. Die in dieser Arbeit verwendeten Frameworks sind im ios Software Development Kit enthalten. Die von Apple herausgegebenen Frameworks sind speziell auf ios beziehungsweise Mac OS X Betriebssysteme (Mac SDK ) zugeschnitten und können nicht für andere Plattformen verwendet werden. Mit den unter GNUstep veröffentlichten Frameworks steht eine frei verfügbare Version, auch für andere Plattformen, zur Verfügung. 6 Christian Felder

15 CHAPTER 1 About ios Development KAPITEL 2. BESCHREIBUNG DER ENTWICKLUNGSUMGEBUNG ios Software Development Kit Das ios SDK enthält zahlreiche Frameworks, die dem Entwickler Schnittstellen zur Entwicklung von ios Applikationen, auf unterschiedlichen Abstraktionslayern, zur Verfügung stellen. Die untersten beiden Layer, Core OS und Core Services, stellen fundamentale ios Schnittstellen zur Verfügung und sind größtenteils in der Programmiersprache C geschrieben. Unter anderem werden low-level Interfaces für den File- und Netzwerk IO zur Verfügung gestellt. Die im upper-layer, Media und Cocoa Touch enthaltenen Frameworks bieten objektorientierte Abstraktionen für low-level Konstrukte und Technologien der unteren beiden Schichten und sind größtenteils in der Programmiersprache Objective-C geschrieben. Durch die Kapselung (Encapsulation) komplexer Features, wie beispielsweise Sockets und Threads, reduziert sich bei deren Verwendung der eigene Programmcode und die Fehleranfälligkeit wird gesenkt. Aus diesem Grunde sind high-level Frameworks bevorzugt zu verwenden. In besonderen Fällen erfordert das benutzerdefinierte Verhalten einer Anwendung jedoch die Verwendung von low-level Schnittstellen, wenn beispielsweise die gewünschte Funktionalität nicht durch die auf dem upper-layer angesiedelten Frameworks abgedeckt ist. Um eine asynchrone Netzwerkkommunikation zu unterstützen, wurden im Rahmen dieser Masterarbeit deshalb BSD Sockets und das Grand Central Dispatch verwendet (siehe 3.2 Client-/Server basierte Kommunikation). Im Rahmen dieser Arbeit wurde das ios SDK in der Version 4.3 verwendet. Note: Even though your application is generally protected from change still need to account for differences between devices in your code. For e camera while others do not. If your application can work with or withou provided by the corresponding framework to determine the availability Applications that require the presence of specific hardware should decla information property list (Info.plist) file. For more information on de Build-Time Configuration Details in ios Application Programming Guide The implementation of ios technologies can be viewed as a set of layer the lower layers of the system are the fundamental services and technol higher-level layers contain more sophisticated services and technologie Figure 1-2 Layers of ios Cocoa Touch Media Core Services Core OS Abbildung 2.4.: Abstraktionslayer des ios Software Development Kits (SDK ) [AITO10] As you write your code, you should prefer the use of higher-level framew whenever possible. The higher-level frameworks are there to provide ob lower-level constructs. These abstractions generally make it much easier the amount of code you have to write and encapsulate potentially comp threads. Although they abstract out lower-level technologies, they do n you. The lower-level frameworks are still available for developers who pr use aspects of those frameworks that are not exposed by the higher lay The technologies and frameworks for each layer are described in later ch Christian Felder 7 What s in the ios SDK?

16 8 KAPITEL 2. BESCHREIBUNG DER ENTWICKLUNGSUMGEBUNG Verwendete Frameworks Foundation Framework Das Foundation Framework bildet den base layer für alle Objective-C Klassen aus dem ios SDK, indem es eine root Objektklasse NSObject, von der alle anderen Klassen abgeleitet sind, und grundlegende Datenstrukturen, wie beispielsweise NSString und NSArray, als Klasse zur Verfügung stellt, die nicht im Sprachumfang von Objective- C enthalten sind. Darüber hinaus stellt es einen festen Satz von Utility Klassen zur Verfügung und führt konsistente Konventionen innerhalb einer Klassenhierarchie ein. So stellt es beispielsweise eine Policy für das Memory Management auf, indem es verbindlich festlegt, wer für das deallozieren eines Objektes (object ownership) verantwortlich ist. Durch seinen portablen Code unterstützt es zudem die Plattformunabhängigkeit aller darauf aufbauenden Frameworks und Codes. UIKit Framework Das UIKit Framework hält alle notwendigen Klassen für die Entwicklung des Graphical User Interfaces bereit und ist speziell für Touch Screen Interfaces optimiert. Die Implementierung des Frameworks reicht von der Konstruktion der Main-Loop, im Application Object, über Windows und Views, sowie deren Drawing Model, bis zum Event handling. OpenGL ES Framework Die zentrale Schnittstelle dieser Masterarbeit wird mit dem OpenGL ES Framework zur Verfügung gestellt. Die vollständige Visualisierung wurde mittels OpenGL ES realisiert. Das Framework implementiert sowohl die OpenGL ES 1.1 als auch die OpenGL ES 2.0 Spezifikation und stellt dem Entwickler eine C-Anwendungsschnittstelle zur Verfügung Bibliotheken und Frameworks von Drittherstellern Im Rahmen dieser Masterarbeit wurden lediglich die im ios SDK enthaltenen Frameworks verwendet. Jedes dieser Frameworks wird über eine dynamisch gebundene Library mit der Dateiendung.dylib nach der Übersetzung hinzugelinkt. Möchte man Bibliotheken und/oder Frameworks von Drittherstellern verwenden, reicht es nicht aus, diese dynamisch zum Programm hinzu zu linken, da sie nicht Teil des SDKs sind und somit nicht auf ios Devices zur Verfügung stehen. Stattdessen muss der gesamte Programmcode der Bibliotheken und/oder Frameworks statisch hinzugelinkt werden. 8 Christian Felder

17 KAPITEL 2. BESCHREIBUNG DER ENTWICKLUNGSUMGEBUNG Xcode Apples integrierte Entwicklungsumgebung (IDE) Xcode 4 enthält alle notwendigen Komponenten, um Apps für ios und Mac OS Systeme zu entwickeln. Apples LLVM 3, in der Version 2.0, implementiert einen vollständigen Compiler Stack, der C, Objective-C und C++ Codes unterstützt und den Source Code für die unterschiedlichen Architekturen der ios Devices optimiert und übersetzt. Es bildet das Backend der Entwicklungsumgebung. Darüber hinaus unterstützt der LLVM Parser den Entwickler bei der Programmierung, indem er dem grafischen Frontend Informationen für das Syntaxhighlighting und die Autocompletion (automatische Vervollständigung von Code) zur Verfügung stellt. Ein zu Subversion- als auch Git Repositories kompatibler Versionseditor, sowie ein grafischer Debugger gehören ebenfalls zum Funktionsumfang der IDE. Der nachfolgend vorgestellte Interface Builder, der ios Simulator und das Tool Instruments zählen zu den wichtigsten Komponenten der Xcode Umgebung. Apple selbst verwendet diese IDE für die Entwicklung ihrer Betriebssysteme, ios und Mac OS, und den dazugehörigen Anwendungen. Abbildung 2.5.: Programmsymbole der Developer Tools, Instruments, Xcode und ios Simulator (von links nach rechts) [AIDTO] Interface Builder Der eingebaute Interface Builder der Entwicklungsumgebung Xcode ermöglicht es, per Drag and Drop Graphical User Interfaces zusammenzustellen und diese über sogenannte IBOutlets mit dem dazugehörigen Quellcode des Programms zu verbinden. Die Objektattribute (z. B. Größe und Position) sowie die Outlet Connections werden in einem Objektgraphen festgehalten und in einem sogenannten nib 4 -File mit der Dateiendung.xib archiviert. Es enthält somit alle Informationen, um das GUI 5 neu zu erzeugen. Der folgende Screenshot zeigt, wie eine Outlet Connection im RootViewController, der im Rahmen dieser Masterarbeit entwickelten mobilen Visualisierungssoftware GLGr, zwischen einem Interface Element und dem dazugehörigen Header File hergestellt wird. 3 LLVM - Low Level Virtual Machine 4 nib - next interface builder 5 GUI - Graphical User Interface Christian Felder 9

18 10 KAPITEL 2. BESCHREIBUNG DER ENTWICKLUNGSUMGEBUNG Abbildung 2.6.: Xcode, Interface Builder - Outlet Connection eines Interface Elements mit dem dazugehörigen Header File ios Simulator Der ios Simulator stellt eine vollständig simulierte ios Umgebung für den Entwickler bereit und bildet damit eine Testumgebung für ios Applikationen. Durch die Simulation unterschiedlicher Devices (ipad, iphone, ipod) und die Möglichkeit, per Maus und Tastatur mit der App zu interagieren und dabei Device Rotationen, Taps, Swipes und weitere Gesten anzuwenden, können erste Laufzeittests durchgeführt werden. Diese Tests können jedoch den Laufzeittest auf einem echten ios Gerät nicht ersetzen. Durch Unterschiede in der Hardware, wie verfügbaren Arbeitsspeicher oder verwendetem Grafikprozessor, stehen dem ios Simulator andere Ressourcen zur Verfügung, so dass die erreichte Performance nicht vergleichbar ist. Insbesondere die Implementierungen der OpenGL ES Spezifikation 1.1 und 2.0 unterscheiden sich auf dem ios Simulator. So stellt der ios Simulator einen optimierten Software-Rasterisierer zur Verfügung, welcher die Vector Processing Units der darunterliegenden Hardware ausnutzt. Diese stehen auf den PowerVR MBX und PowerVR SGX Chips der ios Geräte nicht zur Verfügung. Ferner werden die für die PowerVR MBX und PowerVR SGX Chips optimierten Extensions nicht simuliert. Die erreichte Performance unter Verwendung von OpenGL ES kann demnach, je nach Anwendung, im ios Simulator oder auch auf dem eigentlichen ios Gerät besser sein. Es können sogar Unterschiede in der Darstellung auftreten, so dass Darstellungsfehler im Simulator nicht sicher erkannt werden. Daher sollte die App immer auch mit der zugrunde liegenden Hardware getestet und für diese optimiert werden. In Abbildung 2.7 ist ein Laufzeittest der GLGr App im ios Simulator abgebildet. 10 Christian Felder

19 KAPITEL 2. BESCHREIBUNG DER ENTWICKLUNGSUMGEBUNG 11 Abbildung 2.7.: Laufzeittest der GLGr Software im ios Simulator Christian Felder 11

20 12 KAPITEL 2. BESCHREIBUNG DER ENTWICKLUNGSUMGEBUNG Instruments Das Tool Instruments unterstützt den Entwickler bei der Analyse des Laufzeitverhaltens seiner Apps. Es ermöglicht das Profiling der Anwendung während der Ausführung im ios Simulator oder auch als native App auf einem ios Gerät. Die gesammelten Daten über Memory-, CPU- 6 und GPU 7 Auslastung, der Leistungsaufnahme, sowie den Zugriffen auf das File System, werden grafisch aufbereitet. Auch Schwachstellen, wie beispielsweise Memory Leaks, können so erkannt und korrigiert werden. Durch ein Profiling bis auf Sourcecode Ebene ist eine Optimierung der App möglich. Abbildung 2.8.: Profiling der Memory-, CPU- und GPU Auslastung mit Xcode Instruments 6 CPU - Central Processing Unit, Hauptprozessor eines Computers 7 GPU - Graphics Processing Unit, Grafikprozessor 12 Christian Felder

21 KAPITEL 2. BESCHREIBUNG DER ENTWICKLUNGSUMGEBUNG Organizer Xcodes Organizer stellt Funktionen für das Software Control Management (SCM ) bereit. Dies umfasst die Verwaltung der Projektordner, deren Subversion- oder Git Repositories, die Verwaltung von App Archiven, sowie das Setup von ios Devices, insbesondere für das Provisioning. Registrierung der ios Devices im Provisioning Portal Über das One-Click Setup des Organizers können, alternativ zur Registrierung über Apples Webschnittstelle (vgl Registrierung der ios Devices), ios Geräte im Provisioning Portal registriert werden. Hierzu muss nach Auswahl des entsprechenden Devices lediglich der Use for Development Button angeklickt und anschließend die Zugangsdaten des Developer Accounts eingegeben werden. Abbildung 2.9.: One-Click Setup eines ios Devices mit Xcodes Organizer Das entsprechende Device wird registriert und das Team Provisioning Profile auf das Gerät heruntergeladen. Darüber hinaus werden die Entwicklerzertifikate automatisch heruntergeladen und in die Entwicklungsumgebung eingebunden, sofern diese nicht bereits vorhanden sind. Christian Felder 13

22 14 KAPITEL 2. BESCHREIBUNG DER ENTWICKLUNGSUMGEBUNG (a) Team Provisioning Profile (b) Entwicklerzertifikate Abbildung 2.10.: Abgeschlossenes One-Click Setup eines ios Devices Nach Abschluss des One-Click Setups wird das Team Provisioning Profile unter den Device Informationen, wie in Abbildung 2.10(a) dargestellt, gelistet. Ferner werden unter dem Menüpunkt Developer Profile das installierte Developer- und Distribution Zertifikat gelistet (siehe Abbildung 2.10(b) Entwicklerzertifikate). Unique Device Identifier (UDID) eines ios Gerätes ermitteln Alternativ zur Ermittlung des UDIDs mit der Software itunes (siehe Kapitel auf Seite 4) kann der Identifier unter den Device Informationen im Xcode Organizer abgelesen werden. Dieser ist u. a. in Abbildung 2.9 in der ersten Abbildung zu erkennen. Einbindung der Entwicklerzertifikate Die Einbindung der Entwicklerzertifikate erfolgt beim zuvor beschriebenen One-Click Setup eines ios Devices automatisch. Selbstverständlich können diese aber auch manuell heruntergeladen (vgl. Kapitel Zertifikate) und anschließend über den Xcode Organizer importiert werden. Hierzu sind lediglich der Menüpunkt Developer Profile auszuwählen und die entsprechenden Dateien nach einem Klick auf den Import Button, am unteren Ende des Fensters, anzugeben. Anschließend werden die Entwicklerzertifikate, wie in Abbildung 2.10(b) dargestellt, gelistet. 14 Christian Felder

23 3. Programmbeschreibung 3.1. GR Schnittstelle Die GRaphics Schnittstelle stellt auf Basis einer Implementierung des in den 80er Jahren nach ISO-Norm (ISO 7942) standardisierten grafischen Kernsystems (GKS) erweiterte Funktionalitäten zur Erzeugung zwei- und dreidimensionaler Grafiken bereit. Dazu zählt unter anderem die Darstellung von Achsen und Gittern, logarithmische und/oder gespiegelte Koordinatensysteme, sowie der Plot mehrdimensionaler Funktionen, als Oberflächendiagramm oder in Höhenliniendarstellung. Das grafische Kernsystem, welches zur Darstellung zweidimensionaler Grafiken entwickelt wurde, stellt hierbei die grafischen Primitiven (Polyline, Polymarker, Fill Area, Cell Array und Generalized Drawing Primitives) zur Verfügung und gibt diese unter Verwendung des entsprechenden Logical Device Drivers auf einem der grafischen Subsysteme (Win32, X11, Qt, Carbon, Cocoa) aus oder speichert die Grafik in einer Datei, in den nach Industriestandard definierten Formaten PS 1 oder PDF 2 ab. Fortran! C / C++! Objective-C! Python! Java!...! GR! Pascal! Fortran! C! GLGr! Grafisches Kernsystem (GKS)! Win32! X11! Qt! Carbon! Cocoa! PS! PDF!...! OpenGL (ES)! Abbildung 3.1.: Kohärenz der Schnittstellen GR, GLGr, GKS und OpenGL (ES) Für den Zugriff auf das GKS stehen Language-Bindings für die drei Programmiersprachen Pascal, Fortran und C zur Verfügung (siehe mittlere Schicht in Abbildung 3.2). So greift die GR Schnittstelle über das C-Binding auf die GKS Funktionen zurück. Für die GR Schnittstelle wiederum stehen verschiedene Language-Bindings, auch in höheren Programmiersprachen (u. a. C++ und Objective-C ), sowie für verschiedene Interpreter (u. a. Python und Java) zur Verfügung. 1 PS - PostScript 2 PDF - Portable Document Format

Programmieren für iphone und ipad

Programmieren für iphone und ipad Markus Stäuble Programmieren für iphone und ipad Einstieg in die App-Entwicklung für das ios 4 3., aktualisierte und erweiterte Auflage dpunkt.verlag 1 Einleitung 1 1.1 Begriffe 2 1.2 Was behandelt dieses

Mehr

Glossar. Launching auf.

Glossar. Launching auf. 243 Ad Hoc Distribution Die Ad Hoc Distribution ist eine Möglichkeit, um Ihre entwickelte Anwendung auf anderen Endgeräten zu verteilen. Diese Art der Verteilung erfolgt ohne den App Store. Die Anzahl

Mehr

iphone developer conference Die Entwickler- und Buiness- Konferenz für iphone, ipad und ipod touch

iphone developer conference Die Entwickler- und Buiness- Konferenz für iphone, ipad und ipod touch iphone developer conference Die Entwickler- und Buiness- Konferenz für iphone, ipad und ipod touch ios - Wo steht es, wie geht es? Markus Stäuble MRM Worldwide GmbH 1 Feedback #ipdc10 #as 2 Agenda 3 Heute:

Mehr

Apple Train the Trainer 10 App Store Submission. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/

Apple Train the Trainer 10 App Store Submission. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ Apple Train the Trainer 10 App Store Submission Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ Übersicht Allgemeines Provisioning Profiles Application Binary vorbereiten

Mehr

AK Medientechnologien Hello World. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/

AK Medientechnologien Hello World. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ AK Medientechnologien Hello World Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ Übersicht Demo-Applikation: Hello World Rückblick auf einzelne Schritte Entwicklungswerkzeuge

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Softwareschnittstellen

Softwareschnittstellen P4.1. Gliederung Rechnerpraktikum zu Kapitel 4 Softwareschnittstellen Einleitung, Component Object Model (COM) Zugriff auf Microsoft Excel Zugriff auf MATLAB Zugriff auf CATIA Folie 1 P4.2. Einleitung

Mehr

Mac Desktop Entwicklung

Mac Desktop Entwicklung headquarter Mac Desktop Entwicklung Phillipp Bertram DEVELOPER DAY 20vierzehn http://www.admiralmarkets.com/images/mtmac/metatrader4-for-mac-os.png 2 "There is no reason for any individual to have a computer

Mehr

AK Medientechnologien 09 App Store Submission. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/

AK Medientechnologien 09 App Store Submission. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ AK Medientechnologien 09 App Store Submission Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ Übersicht Allgemeines Provisioning Profiles Application Binary vorbereiten App

Mehr

ReadMe zur Installation der BRICKware for Windows, Version 6.1.2. ReadMe on Installing BRICKware for Windows, Version 6.1.2

ReadMe zur Installation der BRICKware for Windows, Version 6.1.2. ReadMe on Installing BRICKware for Windows, Version 6.1.2 ReadMe zur Installation der BRICKware for Windows, Version 6.1.2 Seiten 2-4 ReadMe on Installing BRICKware for Windows, Version 6.1.2 Pages 5/6 BRICKware for Windows ReadMe 1 1 BRICKware for Windows, Version

Mehr

USB -> Seriell Adapterkabel Benutzerhandbuch

USB -> Seriell Adapterkabel Benutzerhandbuch USB -> Seriell Adapterkabel Benutzerhandbuch 1. Produkt Eigenschaften 1 2. System Vorraussetzungen 1 3. Treiber Installation (Alle Windows Systeme) 1 4. Den COM Port ändern 2 5. Einstellen eines RS232

Mehr

Programmieren für iphone und ipad

Programmieren für iphone und ipad Markus Stäuble Programmieren für iphone und ipad Einstieg in die App-Entwicklung für das ios 5 4., aktualisierte und erweiterte Auflage Lektorat: René Schönfeldt, Gabriel Neumann Copy Editing: Ursula Zimpfer,

Mehr

KURZANLEITUNG. Firmware-Upgrade: Wie geht das eigentlich?

KURZANLEITUNG. Firmware-Upgrade: Wie geht das eigentlich? KURZANLEITUNG Firmware-Upgrade: Wie geht das eigentlich? Die Firmware ist eine Software, die auf der IP-Kamera installiert ist und alle Funktionen des Gerätes steuert. Nach dem Firmware-Update stehen Ihnen

Mehr

Mac OS X und ios. Softwarearchitekturen SS 2011. Von Pawel Wall

Mac OS X und ios. Softwarearchitekturen SS 2011. Von Pawel Wall Mac OS X und ios Softwarearchitekturen SS 2011 Von Pawel Wall Inhalt UNIX-Kategorien Kernel und Kerneltypen Die Vorgeschichte von Mac OS X Die Architektur von Mac OS X Die Architektur von ios Fazit Unix-Kategorien

Mehr

APPS für ios 9 professionell entwickeln

APPS für ios 9 professionell entwickeln thomas SILLMANN 2. Auflage APPS für ios 9 professionell entwickeln // Sauberen Code schreiben mit Objective-C und Swift // Stabile Apps programmieren // Techniken und Methoden von Grund auf verstehen Inkl.

Mehr

Eclipse User Interface Guidelines

Eclipse User Interface Guidelines SS 2009 Softwarequalität 06.05.2009 C. M. Bopda, S. Vaupel {kaymic/vaupel84}@mathematik.uni-marburg.de Motivation (Problem) Motivation (Problem) Eclipse is a universal tool platform - an open, extensible

Mehr

Der Adapter Z250I / Z270I lässt sich auf folgenden Betriebssystemen installieren:

Der Adapter Z250I / Z270I lässt sich auf folgenden Betriebssystemen installieren: Installationshinweise Z250I / Z270I Adapter IR USB Installation hints Z250I / Z270I Adapter IR USB 06/07 (Laden Sie den Treiber vom WEB, entpacken Sie ihn in ein leeres Verzeichnis und geben Sie dieses

Mehr

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel App Framework vom Intel XDK vertraut. Es wird Schritt für Schritt

Mehr

Konfiguration von Clients zur Kommunikation mit einem SUS-Server

Konfiguration von Clients zur Kommunikation mit einem SUS-Server Konfiguration von Clients zur Kommunikation mit einem SUS-Server Allgemeine Informationen Damit sich der Autoupdate-Client die Updates vom lokalen SUS-Server abholt, muss in seiner Registry die korrekten

Mehr

5.3.3.6 Übung - Überwachen und Verwalten von Systemressourcen in Windows Vista

5.3.3.6 Übung - Überwachen und Verwalten von Systemressourcen in Windows Vista 5.0 5.3.3.6 Übung - Überwachen und Verwalten von Systemressourcen in Windows Vista Einführung Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung verwenden Sie administrative Tools zur

Mehr

APPS für ios 10. professionell entwickeln. Apple Watch

APPS für ios 10. professionell entwickeln. Apple Watch thomas SILLMANN APPS für ios 10 professionell entwickeln // Sauberen Code schreiben mit Swift 3 und Objective-C // Stabile Apps für iphone und ipad programmieren // Techniken & Methoden von Grund auf verstehen

Mehr

Vom Prototypen zur Anwendung

Vom Prototypen zur Anwendung Vom Prototypen zur Anwendung iks-thementag: Mobile Applikationen Ein Leitfaden für Unternehmen 17.05.2011 Autor: Ingo Röpling Agenda Was ist vorab zu beachten? Skills und Systemvoraussetzungen Implementierung

Mehr

Apps für ios entwickeln

Apps für ios entwickeln Apps für ios entwickeln Am Beispiel einer realen App Bearbeitet von Jan Tittel, Jochen Baumann 1. Auflage 2013. Buch. XII, 222 S. ISBN 978 3 446 43192 8 Format (B x L): 17,9 x 24,7 cm Gewicht: 589 g Weitere

Mehr

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8 Byte-Taxi Bedienungsanleitung Seite 1 von 8 Inhaltsverzeichnis 1. Beschreibung 3 2. Systemvoraussetzungen 4 3. Installationsanleitung 5 4. Bedienung 6 5. Infos & Kontakt 8 Seite 2 von 8 1. Beschreibung

Mehr

Von Keerthikan T. & Siyar Kolusari 10.12.2012

Von Keerthikan T. & Siyar Kolusari 10.12.2012 M226 OBJECT ORIENTIERT PROGRAMMIEREN Project Checkers An online multi-player Java Game Von Keerthikan T. & Siyar Kolusari 10.12.2012 Inhaltsverzeichnis 1. Projektbeschreibung 3 1.1. Inhalt 3 2. Ziele

Mehr

Bedienungsanleitung zur Inbetriebnahme des Funkempfänger EFB-EXP-72a mit Ethernet-Schnittstelle

Bedienungsanleitung zur Inbetriebnahme des Funkempfänger EFB-EXP-72a mit Ethernet-Schnittstelle zur Inbetriebnahme des Funkempfänger EFB-EXP-72a mit Ethernet-Schnittstelle 1. Funktion und Voreinstellung Der EFB-EXP-72a basiert auf der Funktionsweise des Funkempfängers EFB-RS232 mit dem Unterschied,

Mehr

Remote Administration von Windows Servern mit Microsoft Terminal Services und OpenSSH

Remote Administration von Windows Servern mit Microsoft Terminal Services und OpenSSH Remote Administration von Windows Servern mit Microsoft Terminal Services und OpenSSH von Dominick Baier (dbaier@ernw.de) und Jens Franke (jfranke@ernw.de) 1 Einleitung Dieses Dokument behandelt die flexible

Mehr

Netzwerk Technologien in LabVIEW

Netzwerk Technologien in LabVIEW Netzwerk Technologien in LabVIEW von Dirk Wieprecht NI Germany Hier sind wir: Agenda Agenda Bedeutung des Ethernet für die Messtechnik Ethernet-basierende Technologien in LabVIEW Low Level- TCP/IP Objekt

Mehr

Handbuch NOXON Favourites Commander

Handbuch NOXON Favourites Commander Handbuch NOXON Favourites Commander TerraTec Electronic GmbH Copyright (c) 2008 TerraTec Electronic GmbH. Permission is granted to copy, distribute and/or modify this document under

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Paynet Adapter Spezifikationen Voraussetzungen Datum : 21.07.08 Version : 1.0.0.2 21.07.2008 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung... 3 2 Architektur... 3 2.1 Grundsätze

Mehr

Bluefire Reader für ipad & iphone

Bluefire Reader für ipad & iphone für ipad & iphone Verfasser: Marco Hollenstein Erstellt am: 21.11.2010 Status: Freigegeben Freigabe am: 21.11.2010 Freigegeben für: Öffentlich VORWORT II Vorwort Auf der Suche nach einem ebook Reader,

Mehr

Parameter-Updatesoftware PF-12 Plus

Parameter-Updatesoftware PF-12 Plus Parameter-Updatesoftware PF-12 Plus Mai / May 2015 Inhalt 1. Durchführung des Parameter-Updates... 2 2. Kontakt... 6 Content 1. Performance of the parameter-update... 4 2. Contact... 6 1. Durchführung

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Yellowbill Adapter Spezifikationen Voraussetzungen Datum : 22.08.2013 Version : 1.0.0.2 22.08.2013 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung...3 2 Architektur...3 2.1 Grundsätze

Mehr

FAQ. VisBee - IDE FAQ 2011-11-21. Änderungsindex: 1.0. Änderungsdatum: 2011-11-21. Christ Elektronik GmbH. Alpenstraße 34 DE-87700 Memmingen

FAQ. VisBee - IDE FAQ 2011-11-21. Änderungsindex: 1.0. Änderungsdatum: 2011-11-21. Christ Elektronik GmbH. Alpenstraße 34 DE-87700 Memmingen Änderungsindex: 1.0 Änderungsdatum: DE- Copyright 2011 Weitergabe sowie Vervielfältigung dieser Unterlage, Verwertung und Mitteilung ihres Inhalts nicht gestattet, soweit nicht ausdrücklich zugestanden.

Mehr

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung 2015-02-25 1 of 6 Application Note Anbindung von Kunden-Software an SpiderControl Web Visualisierung Version ApplicationNote_AnbindungFremdsoftware /Version Seite 1 / 6 Version Datum Kommentar Autor 0.1

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i

Mehr

OpenGL. (Open Graphic Library)

OpenGL. (Open Graphic Library) OpenGL (Open Graphic Library) Agenda Was ist OpenGL eigentlich? Geschichte Vor- und Nachteile Arbeitsweise glscene OpenGL per Hand Debugging Trend Was ist OpenGL eigentlich? OpenGL ist eine Spezifikation

Mehr

Modbus-Master-Treiber

Modbus-Master-Treiber Modbus-Master-Treiber 1. Einleitung MODBUS ist ein offenes serielles Kommunikationsprotokoll, das auf einer Master/Slave Architektur basiert. Dabei greift der MODBUS-Master (Touch Panel PC) auf die fest

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

LW313 Sweex Wireless 300N Adapter USB

LW313 Sweex Wireless 300N Adapter USB LW313 Sweex Wireless 300N Adapter USB Wichtig! Setzen Sie den Sweex Wireless 300N Adapter USB nicht extremen Temperaturen aus. Setzen Sie das Gerät nicht direkter Sonneneinstrahlung aus und halten Sie

Mehr

NetMan Desktop Manager Quick-Start-Guide

NetMan Desktop Manager Quick-Start-Guide NetMan Desktop Manager Quick-Start-Guide In diesem Dokument wird die Installation von NetMan Desktop Manager beschrieben. Beachten Sie, dass hier nur ein Standard-Installationsszenario beschrieben wird.

Mehr

Galileo Desktop Benutzerhandbuch Version 1.02

Galileo Desktop Benutzerhandbuch Version 1.02 Galileo Desktop Benutzerhandbuch Version 1.02 Galileo Deutschland GmbH. All rights reserved. Dieses Dokument enthält Informationen, an denen Galileo International Rechte besitzt. Dieses Dokument darf nur

Mehr

Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI

Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI The expert for industrial and automotive communication IXXAT Hauptsitz Geschäftsbereich USA IXXAT Automation GmbH IXXAT Inc. Leibnizstr.

Mehr

VB.net Programmierung und Beispielprogramm für GSV

VB.net Programmierung und Beispielprogramm für GSV VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2

Mehr

3.9 Grundelemente einer Benutzeroberfläche

3.9 Grundelemente einer Benutzeroberfläche 92 3 Grundlagen einer ios-anwendung 3.8.4 Target-Actions Einer der häufigsten Anwendungsfälle bei einer Oberfläche ist das Betätigen einer Schaltfläche durch einen Anwender, woraufhin eine bestimmte Aktion

Mehr

Mobile Application Development

Mobile Application Development Mobile Application Development Android: Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Lernziele Der/die Kursbesucher/in kann

Mehr

ecall sms & fax-portal

ecall sms & fax-portal ecall sms & fax-portal Beschreibung des s Dateiname Beschreibung_-_eCall 2015.08.04 Version 1.1 Datum 04.08.2015 Dolphin Systems AG Informieren & Alarmieren Samstagernstrasse 45 CH-8832 Wollerau Tel. +41

Mehr

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 1. Benötigte Software Zur Erstellung des Installers wird folgende Software benötigt. Es wird sich in dieser Dokumentation

Mehr

Architekturen mobiler Multi Plattform Apps

Architekturen mobiler Multi Plattform Apps Architekturen mobiler Multi Plattform Apps Wolfgang Maison & Felix Willnecker 06. Dezember 2011 1 Warum Multi- Plattform- Architekturen? Markt. Apps für Smartphones gehören zum Standardinventar jeder guten

Mehr

DOK. ART GD1. Citrix Portal

DOK. ART GD1. Citrix Portal Status Vorname Name Funktion Erstellt: Datum DD-MMM-YYYY Unterschrift Handwritten signature or electronic signature (time (CET) and name) 1 Zweck Dieses Dokument beschreibt wie das auf einem beliebigem

Mehr

März 2012. Funktionsweise von Eye-Fi Flussdiagramm-Übersicht

März 2012. Funktionsweise von Eye-Fi Flussdiagramm-Übersicht März 2012 Funktionsweise von Eye-Fi Flussdiagramm-Übersicht 2012 Visioneer, Inc. (ein Xerox-Markenlizenznehmer) Alle Rechte vorbehalten. XEROX, XEROX sowie Design und DocToMe sind eingetragene Marken der

Mehr

GmbH, Stettiner Str. 38, D-33106 Paderborn

GmbH, Stettiner Str. 38, D-33106 Paderborn Serial Device Server Der Serial Device Server konvertiert die physikalische Schnittstelle Ethernet 10BaseT zu RS232C und das Protokoll TCP/IP zu dem seriellen V24-Protokoll. Damit können auf einfachste

Mehr

Software-Projekt: Mensch ärgere Dich nicht. Dokumentation Softwareprojekt: Mensch ärgere Dich nicht

Software-Projekt: Mensch ärgere Dich nicht. Dokumentation Softwareprojekt: Mensch ärgere Dich nicht Dokumentation Softwareprojekt: Mensch ärgere Dich nicht Das Programm Mensch ärgere Dich nicht ermöglicht das Spielen des gleichnamigen Spieles über Netzwerke. Jeder Spieler verfügt dabei über einen Clienten,

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Wie verwende ich Twitter in MAGIC THipPro

Wie verwende ich Twitter in MAGIC THipPro Wie verwende ich Twitter in MAGIC THipPro Konfigurationsanleitung Version: V1-10. August 2015 by AVT Audio Video Technologies GmbH Registrierung der Social Media Option Stellt die Social Media Option allen

Mehr

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 E-Mail: sales@softvision.de Web: www.softvision.de Inhaltsverzeichnis

Mehr

Softwareupdate-Anleitung // AC Porty L Netzteileinschub

Softwareupdate-Anleitung // AC Porty L Netzteileinschub 1 Softwareupdate-Anleitung // AC Porty L Netzteileinschub Softwareupdate-Anleitung // AC Porty L Netzteileinschub HENSEL-VISIT GmbH & Co. KG Robert-Bunsen-Str. 3 D-97076 Würzburg-Lengfeld GERMANY Tel./Phone:

Mehr

Security. Stefan Dahler. 6. Zone Defense. 6.1 Einleitung

Security. Stefan Dahler. 6. Zone Defense. 6.1 Einleitung 6. Zone Defense 6.1 Einleitung Im Folgenden wird die Konfiguration von Zone Defense gezeigt. Sie verwenden einen Rechner für die Administration, den anderen für Ihre Tests. In der Firewall können Sie entweder

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr

DPS App Zertifikate für ios

DPS App Zertifikate für ios Apple Developer Account Das Apple Developer Center unter http://developer.apple.com Apple Xcode Installation unter https://developer.apple.com/xcode/ ios Dev Center - Login Login in das ios Developer Center

Mehr

Installation und Benutzung AD.NAV.ZipTools

Installation und Benutzung AD.NAV.ZipTools Installation und Benutzung AD.NAV.ZipTools Version 1.0.0.0 ALTENBRAND Datentechnik GmbH Am Gelicht 5 35279 Neustadt (Hessen) Tel: 06692/202 290 Fax: 06692/204 741 email: support@altenbrand.de Die Komponente

Mehr

ZMI Benutzerhandbuch Sophos. Sophos Virenscanner Benutzerhandbuch

ZMI Benutzerhandbuch Sophos. Sophos Virenscanner Benutzerhandbuch ZMI Benutzerhandbuch Sophos Sophos Virenscanner Benutzerhandbuch Version: 1.0 12.07.2007 Herausgeber Zentrum für Medien und IT ANSCHRIFT: HAUS-/ZUSTELLADRESSE: TELEFON: E-MAIL-ADRESSE: Zentrum für Medien

Mehr

Sharpdesk Mobile Bedienungshandbuch

Sharpdesk Mobile Bedienungshandbuch Sharpdesk Mobile Bedienungshandbuch Für ipad SHARP CORPORATION 1. Mai 2012 1 Inhaltsverzeichnis 1 Übersicht... 3 2 Voraussetzungen... 4 3 Installation und Start... 5 4 Installation Drucker/Scanner... 6

Mehr

p^db=`oj===pìééçêíáåñçêã~íáçå=

p^db=`oj===pìééçêíáåñçêã~íáçå= p^db=`oj===pìééçêíáåñçêã~íáçå= Error: "Could not connect to the SQL Server Instance" or "Failed to open a connection to the database." When you attempt to launch ACT! by Sage or ACT by Sage Premium for

Mehr

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse 1. Einführung 1.1 Eclipse Die Eclipse ist eine kostenlose integrierte Entwicklungsumgebung oder auch IDE genannt, (Abkürzung IDE, engl. Integrated development enviroment). Sie ist eine grafische Benutzeroberfläche

Mehr

Nach Ihrer erstmaligen Anmeldung sollten Sie Ihr Passwort ändern. Dazu klicken Sie bitte auf Ihren Namen.

Nach Ihrer erstmaligen Anmeldung sollten Sie Ihr Passwort ändern. Dazu klicken Sie bitte auf Ihren Namen. 1 Passwort ändern Nach Ihrer erstmaligen Anmeldung sollten Sie Ihr Passwort ändern Dazu klicken Sie bitte auf Ihren Namen Abb 1-1 Erstmaliger Anmeldung Danach erscheint ein PopUp indem Sie Ihr Passwort

Mehr

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

Private Cloud Management in der Praxis

Private Cloud Management in der Praxis Private Cloud Management in der Praxis Self Service Portal 2.0 Walter Weinfurter Support Escalation Engineer Microsoft Deutschland GmbH Merkmale von Private Cloud Infrastrukturen Private Cloud = Infrastruktur

Mehr

Einführung in Betriebssysteme

Einführung in Betriebssysteme Einführung in Betriebssysteme APPLE ios Entwicklung von ios Entwickelt auf der Basis von MacOS X UNIX Vorgestellt am 9.1.2007 Zusammen mit iphone Markenname von Cisco Internetwork Operating System Für

Mehr

Datenzugriff über VPN

Datenzugriff über VPN Leitfaden Datenzugriff über VPN Einführung Ab der Version 3.0 besteht bei einer Installation von SPG-Verein die Möglichkeit, den Programmund Datenbereich getrennt abzulegen. Dadurch kann u. a. der Datenbereich

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer Markus Urban.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform

Mehr

1 Überblick. A-Z SiteReader Benachrichtigung.doc Seite 1 von 9

1 Überblick. A-Z SiteReader Benachrichtigung.doc Seite 1 von 9 1 Überblick In A-Z SiteReader ist das Feature Benachrichtigung enthalten. Dieses Feature ermöglicht einer Installation, beim Auftreten von Ereignissen eine automatische Benachrichtigung für verschiedene

Mehr

Anleitung: Installation von WISO Mein Büro auf einem Mac

Anleitung: Installation von WISO Mein Büro auf einem Mac Anleitung: Installation von WISO Mein Büro auf einem Mac Lieber WISO Mein Büro Anwender, WISO Mein Büro ist bisher eine reine Windows-Anwendung und lässt sich somit leider nicht direkt auf einem Macintosh

Mehr

Installation mit Lizenz-Server verbinden

Installation mit Lizenz-Server verbinden Einsteiger Fortgeschrittene Profis markus.meinl@m-quest.ch Version 1.0 Voraussetzungen für diesen Workshop 1. Die M-Quest Suite 2005-M oder höher ist auf diesem Rechner installiert 2. Der M-Lock 2005 Lizenzserver

Mehr

Benutzer- und Referenzhandbuch

Benutzer- und Referenzhandbuch Benutzer- und Referenzhandbuch MobileTogether Client User & Reference Manual All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical,

Mehr

Deutsche Version. Einführung. Installation unter Windows XP und Vista. LW056V2 Sweex Wireless LAN Cardbus Adapter 54 Mbit/s

Deutsche Version. Einführung. Installation unter Windows XP und Vista. LW056V2 Sweex Wireless LAN Cardbus Adapter 54 Mbit/s LW056V2 Sweex Wireless LAN Cardbus Adapter 54 Mbit/s Einführung Setzen Sie den Sweex Wireless LAN Cardbus Adapter 54 Mbit/s keinen zu hohen Temperaturen aus. Stellen Sie das Gerät nicht in direktes Sonnenlicht

Mehr

Fiery Driver Configurator

Fiery Driver Configurator 2015 Electronics For Imaging, Inc. Die in dieser Veröffentlichung enthaltenen Informationen werden durch den Inhalt des Dokuments Rechtliche Hinweise für dieses Produkt abgedeckt. 16. November 2015 Inhalt

Mehr

PG5 Starter Training PG5 Core und Webeditor 8 Daniel Ernst DE02 2013-03-14

PG5 Starter Training PG5 Core und Webeditor 8 Daniel Ernst DE02 2013-03-14 PG5 Starter Training PG5 Core und Webeditor 8 Daniel Ernst DE02 2013-03-14 Einführung Benötigtes Material: Notebook oder Computer PCD1 E-Controller USB Kabel Schulungsplatine Ethernet Kabel Benötigte Software

Mehr

MobiDM-App Handbuch für Windows Mobile

MobiDM-App Handbuch für Windows Mobile MobiDM-App Handbuch für Windows Mobile Dieses Handbuch beschreibt die Installation und Nutzung der MobiDM-App für Windows Mobile Version: x.x MobiDM-App Handbuch für Windows Mobile Seite 1 Inhalt 1. WILLKOMMEN

Mehr

Lenze OPC UA Kommunikation V1.0

Lenze OPC UA Kommunikation V1.0 Verwendete Komponenten: Lenze: 94xx: Highline FW 12 Easy Starter: 1.6 OPC UA Client: Softing OPC UA Client V1.2 Unified Automation UAexpert V1.2.2 175 Der Easy Starter verfügt ab der Version 1.6 über eine

Mehr

Verteiltes Debugging. Gemeinsames Debuggen in Saros

Verteiltes Debugging. Gemeinsames Debuggen in Saros Verteiltes Debugging Gemeinsames Debuggen in Saros Motivation Saros unterstützt bislang nur das gemeinsame editieren von Quelltext > Support auf Compile Time Ebene Softwaredesign Fehler (Anw Logik) erst

Mehr

NEWSLETTER. FileDirector Version 2.5 Novelties. Filing system designer. Filing system in WinClient

NEWSLETTER. FileDirector Version 2.5 Novelties. Filing system designer. Filing system in WinClient Filing system designer FileDirector Version 2.5 Novelties FileDirector offers an easy way to design the filing system in WinClient. The filing system provides an Explorer-like structure in WinClient. The

Mehr

Windows-Firewall-Ausnahmen Windows-Firewall-Ausnahmen für Docusnap konfigurieren

Windows-Firewall-Ausnahmen Windows-Firewall-Ausnahmen für Docusnap konfigurieren Windows-Firewall-Ausnahmen Windows-Firewall-Ausnahmen für Docusnap konfigurieren www.docusnap.com TITEL Windows-Firewall-Ausnahmen AUTOR Docusnap Consulting DATUM 14.04.2015 Die Weitergabe, sowie Vervielfältigung

Mehr

TomTom WEBFLEET Tachograph

TomTom WEBFLEET Tachograph TomTom WEBFLEET Tachograph Installation TG, 17.06.2013 Terms & Conditions Customers can sign-up for WEBFLEET Tachograph Management using the additional services form. Remote download Price: NAT: 9,90.-/EU:

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform 02 PROFI News

Mehr

Kurzanleitung zu XML2DB

Kurzanleitung zu XML2DB Kurzanleitung zu XML2DB Inhaltsverzeichnis 1. Einleitung...3 2. Entwicklungsumgebung...3 3. Betriebsanleitung...3 3.1 Einrichten der Java Umgebung...3 3.2 Allgemeines zu java und javac...4 3.2.1 Allgemeines

Mehr

Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2

Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2 Mac OSX Consoliero Teil 14 Seite: 1/10 Mac OS X Consoliero Weiterführende Dokumentationen für Administratoren. Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2 Christoph Müller, PTS

Mehr

Microsoft Azure Fundamentals MOC 10979

Microsoft Azure Fundamentals MOC 10979 Microsoft Azure Fundamentals MOC 10979 In dem Kurs Microsoft Azure Fundamentals (MOC 10979) erhalten Sie praktische Anleitungen und Praxiserfahrung in der Implementierung von Microsoft Azure. Ihnen werden

Mehr

AVR-Programmierung unter Mac OSX

AVR-Programmierung unter Mac OSX AVR-Programmierung unter Mac OSX im Studiengang BEL3 Lehrveranstaltung Embedded Systems Tutorial ausgeführt von: Jürgen Hausladen A-2460 Bruck/Leitha, Obere Neugasse 6 Wien 01.02.2011 Inhaltsverzeichnis

Mehr

Softwareanforderungen für Microsoft Dynamics CRM Server 2015

Softwareanforderungen für Microsoft Dynamics CRM Server 2015 Softwareanforderungen für Microsoft Dynamics CRM Server 2015 https://technet.microsoft.com/de-de/library/hh699671.aspx Windows Server-Betriebssystem Microsoft Dynamics CRM Server 2015 kann nur auf Computern

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Rechnernetze. 6. Übung

Rechnernetze. 6. Übung Hochschule für Technik und Wirtschaft Studiengang Kommunikationsinformatik Prof. Dr. Ing. Damian Weber Rechnernetze 6. Übung Aufgabe 1 (TCP Client) Der ECHO Service eines Hosts wird für die Protokolle

Mehr

Outlook - CommuniGate Pro Schnittstelle installieren. Outlook - Elemente freigeben. Outlook - Freigegebene Elemente öffnen

Outlook - CommuniGate Pro Schnittstelle installieren. Outlook - Elemente freigeben. Outlook - Freigegebene Elemente öffnen Microsoft Outlook 1 Nutzung der Groupware mit Microsoft Outlook 1.1 Outlook - CommuniGate Pro Schnittstelle installieren 4 1.2 Outlook - Elemente freigeben 11 1.3 Outlook - Freigegebene Elemente öffnen

Mehr

KNX BAOS Gadget. Installations- und Bedienanleitung. WEINZIERL ENGINEERING GmbH. DE-84508 Burgkirchen E-Mail: info@weinzierl.de Web: www.weinzierl.

KNX BAOS Gadget. Installations- und Bedienanleitung. WEINZIERL ENGINEERING GmbH. DE-84508 Burgkirchen E-Mail: info@weinzierl.de Web: www.weinzierl. Installations- und Bedienanleitung DE-84508 Burgkirchen E-Mail: info@weinzierl.de Web: www.weinzierl.de 2013-08-12 Seite 1/6 Inhaltsverzeichnis 1. BESCHREIBUNG... 3 2. SYSTEMVORAUSSETZUNGEN... 3 3. INSTALLATION...

Mehr

Online Kurs Entwicklung der Apps auf iphone und ipad

Online Kurs Entwicklung der Apps auf iphone und ipad ios Kurs Online Kurs Entwicklung der Apps auf iphone und ipad Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses für ios Modul 1 Einführung in die Programmierung Erste Lerneinheit Einführung

Mehr

Bin ich fit für myconvento?

Bin ich fit für myconvento? Bin ich fit für myconvento? Sie planen den Einsatz unserer innovativen Kommunikationslösung myconvento und fragen sich gerade, ob Ihr Rechner die Anforderungen erfüllt? Hier erfahren Sie mehr. Inhalt Was

Mehr