Apple OSX Maveric QNAP TimeMachine Probleme

Wer mit OSX 10.9 Probleme hat ein TimeMachine backup zu erstellen und den folgenden Fehler bekommt:

com.apple.prefs.backup.remoteservice[602]: Error while confirming network destination: Error Domain=NSOSStatusErrorDomain Code=64 "Der Vorgang konnte nicht abgeschlossen werden. (OSStatus-Fehler 64.)" (kOTSerialFramingErr / EHOSTDOWN: / Host is down)

bzw


NetAuthSysAgent[1071]: ERROR: AFP_GetServerInfo - connect failed 64

Kann mal versuchen den AFP Server manuell als TimeMachine Destination zu nutzen mit dem folgenden Kommando:


sudo tmutil setdestination afp://$QNAPTIMEMACHINEUSER:$QNAPTIMEMACHINEPASSWORD@$QNAPIPADRESS/TMBackup

TimeMachine Backup per AFP mounten und reparieren

Um ein TimeMachine Backup zu reparieren, welches z.B. auf einem NAS liegt, kann man folgende Herangehensweise versuchen:

0. Sichern des Images

Bevor man irgenwelche Schritte durchführt, sollte man das Image sichern

„cp /share/TMBackup/Name.sparebundle /home/user/foo“

1. Mounten des Images auf dem Mac

sudo mkdir /Volumes/temp

sudo mount -t afp afp://user:pass@192.168.x.x/home/user/foo /Volumes/temp

oder alternativ über den Finder.

Über den Befehl findet man heraus ob es eingebunden wurde

mount

2. Image mit hdiutils bearbeiten

hdiutil attach -nomount -readwrite Name.sparsebundle

 

Ergebnis:

/dev/disk3              Apple_partition_scheme
/dev/disk3s1            Apple_partition_map
/dev/disk3s2            Apple_HFSX

wobei disk3 durchaus variieren kann

3. Fsck durchführen

fsck_hfs -rf /dev/disk3s2

 

4. warten

** /dev/rdisk3s2    Using cacheBlockSize=32K cacheTotalBlock=16384 cacheSize=524288K.   Executing fsck_hfs (version diskdev_cmds-557.3~1).** Checking Journaled HFS Plus volume.** Detected a case-sensitive volume.   The volume name is Time Machine-Backups** Checking extents overflow file.** Checking catalog file.** Rebuilding catalog B-tree.

 

Achtung: Das Image muss mit Schreibrechten gemounted werden, sonst kann nichts repariert werden.

Bei dem Fehler:

** /dev/rdisk3s2 (NO WRITE)
Can’t open /dev/rdisk3s2: Permission denied

Ggf. versuchen den Befehl per sudo auszuführen.

See:

http://tonylawrence.com/blog/2012/08/11/fixing-corrupted-time-machine-backups/

http://blog.jthon.com/?p=31

Wer sich fragt was TimeMachine ist – TimeMachine ist die Backup Technik, vorgestellt am 26. Oktober 2007 mit der OSX Version 10.5 Leopard eingeführt wurde. Die Speicherung erfolgt auf HFS formatierte Festplatten / Netzlaufwerke. Apple vertreibt auch einige Hardware mit TimeMachine unterstützung die als Speichermedium dienen. Einige NAS Hersteller haben mittlerweile auch TimeMachine Server Funktionalität eingebaut.

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

Icon specified in the Info.plist not found under the top level app wrapper: Icon.png

Kleiner Fehler, große Wirkung, wer beim Submitten einer App an Apple die Fehlermeldung erhält:

Icon specified in the Info.plist not found under the top level app wrapper: Icon.png

Darf sich erstmal freuen, die Fehlermeldung ist schwer zu beheben.

Im einfachsten Fall hat man wirklich vergessen, das Icon.png in das Projekt zu legen. Es ist darauf zu achten, dass das Icon bestimmte Kriterien erfüllen muss (nachzulesen unter: http://developer.apple.com/library/ios/#qa/qa2010/qa1686.html)

Wichtig, die Icon File muss im Root des Projektes liegen und die Groß- und Kleinschreibung muss beachtet werden. Es kann helfen, das Projekt komplett aufzuräumen über:

Build -> Clean All Targets

Zusätzlich kann man nach dem cleanen noch die Icons alle umbenennen z.B. in bIcon.png und dann wieder zurück nach Icon.png benennen. Danach wie gehabt

Build -> Build and archive

An Apple senden

Je nachdem, ob man eine iPad App erstellt gibt es folgende möglichen Icon Variationen die in der Info.plist Datei hinterlegt werden:

  • Icon.png (57×57px – iPhone und iPod Touch)
  • Icon@2x.png (114×114 – iPhone 4 Retina Display)
  • Icon-72.png (72×72 – iPad)
  • Icon-Small.png (29×29 – Settings app und Suchergebnisse auf iPhone und iPod Touch)
  • Icon-Small@2x.png (58×58 – Settings app und Suchergebnisse auf iPhone 4)
  • Icon-Small-50.png (50×50 – Suchergebnisse auf iPad)

 

Paypal iOS SDK

PayPal iphone / iOS SDK

PayPal iphone / iOS SDK

In der aktuellen Diskussion über die Abo-Gebühren von Apple, die inApp Beteiligungen die verlangt werden, geht voll unter das es auch noch andere Bezahlmöglichkeiten gibt.

Unter anderem bietet PayPal ein eigenes iPhone / iOS SDK an.

Dieses kann in jede App eingebunden werden und den Bezahlvorgang für Inhalte übernehmen. Beträge, Rechnungsposten, Steuer / Versandgebühren sind dabei sehr gut einstellbar. Im Fall einer erfolgreichen Zahlung erhält man von PayPal eine PayPal-Transactions-ID, womit der jeder Bezahlvorgang eindeutig ist.

Eingebunden wird das SDK sehr einfach: Downloaden, Add existing Files -> die *.a Datei und alle .h Dateien auswählen und importieren.

In dem Viewcontroller, in dem der Bezahlvorgang dann vonstatten gehen soll folgende include Anweisung:

#import „PayPal.h“

weitere Schritte können in der Doku von Paypal entnommen werden.

Was nicht ind er Dokumentation erwähnt ist: um das SDK nutzen zu können, bedarf es auch einer xml Lib. Wenn diese nicht vorhanden ist, bekommt man Fehlermeldungen im folgenden Stil:

„_xmlNodeListGetString“, referenced from:

-[ap_ReceiverIdentifier deserializeElementsFromNode:] in libPayPalMEP.a(ap.o)

-[ap_Address deserializeElementsFromNode:] in libPayPalMEP.a(ap.o)

-[ap_AddressList deserializeElementsFromNode:] in libPayPalMEP.a(ap.o)

-[ap_CurrencyCodeList deserializeElementsFromNode:] in libPayPalMEP.a(ap.o)

-[ap_CurrencyList deserializeElementsFromNode:] in libPayPalMEP.a(ap.o)

-[ap_CurrencyConversionList deserializeElementsFromNode:] in libPayPalMEP.a(ap.o)

-[ap_CurrencyConversionTable deserializeElementsFromNode:] in libPayPalMEP.a(ap.o)

-[ap_DisplayOptions deserializeElementsFromNode:] in libPayPalMEP.a(ap.o)

-[ap_ErrorList deserializeElementsFromNode:] in libPayPalMEP.a(ap.o)

usw.

Dieses kann verhindert werden, indem man die libxml2.dylib als existing Framework einbettet / hinzufügt.

git unter Apple MaxOSX

git
Git unter Apple OSX ist eine richtig feine Sache.

Dazu benötigt man folgende Anleitungen:

http://blog.ardes.com/2008/5/19/git-hosting-with-leopard
http://www.koushikdutta.com/2009/04/setting-up-gitosis-server-on-os-x.html
http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way
http://theappleblog.com/2009/03/10/using-git-with-os-x-6-tools-to-get-you-up-and-running/

Dazu noch folgendes Tool:
http://gitx.frim.nl

Und für die Nutzung von XCode mit git dieses nette script:
http://www.komprovisation.de/attachments/download/16/xcode-git-init.sh (http://www.komprovisation.de/news/show/9)

Gut ist auch git gui

In der shell muss dann in das Verzeichniss gewechelt werden und bei jeder Änderung folgendes eingegeben werden:

git commit -a

Worauf ein vi aufgeht, der die Änderungen aufzeigt und ein Kommentar eingegeben werden kann. (vi speichert mit :wq.

Eine schöne Beschreibung von der git Handhabung in dieser PDF file:

http://uberhip.com/projects/presentations.html

Wer ein git repository unter debian anlegen möchte um seine eigenen git repos zu verwalten:
http://debian.asconix.com/git-central-debian-howto und mit web access:
http://www.cryptronic.de/wiki/Blogs/20070408_howto_debian_setup_subversion_daemon_with_web_access

weitere Links:

http://stefanimhoff.de/notiz/einstieg-in-git-als-versionskontrollsystem/

http://www.online-tutorials.net/programmierung/git/tutorials-t-3-263.html#erste-schritte

http://www.kernel.org/pub/software/scm/git/docs/everyday.html

http://hoth.entp.com/output/git_for_designers.html

trim NSString iPhone objective C

trimmed string obj c

trimmed string obj c

Aus anderen Programmiersprachen kennt man den trim(); Befehl, der folgendes tut:

trimEntfernt Whitespaces (oder andere Zeichen) am Anfang und Ende eines Strings

In ObjC ist eine solche trim Funktionalität z.B: sinnvoll wenn man eine XML parsen möchte und in der XML Leerzeichen vor dem eigentlichen String sind.

Folgende Anweisung entfernt die störenden Leerzeichen (whitspaces):

NSString *trimmedString = [StringWithWhitespaces stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

Resultat ist ein NSString, der ohne Probleme genutzt werden kann.

SVN subclipse howto

Subclipse Apple OSX

Subclipse Apple OSX

Der Informatik Fachbereich der Uni Köln etwas versteckt eine sehr gut beschriebene Anleitung zum Thema SVN mit Subclipse.

Die Anleitung umfasst dabei die Installation und Benutzung des Plugins und Umschreibt die Vorgänge / Notwendigkeiten in ausreichendem Maße.

SVN sublipse howto Uni Köln

Subclipse ist ein Plugin der freien Entwicklungsplattform Eclipse, welche plattformunabhängig auf Java aufbaut. Sublipse wird dabei zur Versionierung von Dateien im Entwicklungszyklus genutzt und kommuniziert mit einem Subversion Server.

Subversion:

Subversion (SVN) ist eine Open-Source-Software zur Versionsverwaltung von Dateien und Verzeichnissen.

Die Versionierung erfolgt in einem zentralen Projektarchiv (engl. repository) in Form einer einfachen Revisionszählung. Wenn Änderungen an Inhalten verteilt auf den Computern der Bearbeiter ausgeführt werden, werden zwischen dem Projektarchiv und einem Arbeitsplatz jeweils nur die Unterschiede zu bereits vorhandenen Ständen übertragen; anfangs das gesamte Projekt, später nur Änderungen.[…]

iPod Error 1411

iPod Error 1411 restore

iPod Error 1411 restore

Beim Wiederherstellen eines iPods kann es zum Fehler 1411 kommen, hierzu findet man in einschlägigen Foren / Suchmaschinen keine Lösung. Apple bietet nur eine Lösung zu den Fehlern 1415, 1417, 1418, 1428, 1429, 1430, 1436 oder 1439 an. Das Symptom ist aber das gleiche, der iPod lässt sich nicht wiederherstellen und dadurch nicht benutzen.

Die aufgeführten Lösungsvorschläge

  • Trennen und anschließen des iPods
  • Computer neu starten
  • Deaktivieren oder aktivieren Sie die Verwendung des iPod als Volume
  • USB Anschluss wechseln
  • Restlichen USB Geräte trennen
  • Unter Windows eine extra DLL installieren bzw. neue Treiber installieren

helfen nicht weiter.

iPod wiederherstellen error

iPod wiederherstellen error

Eine Lösung ist jedoch, eine Wiederherstellung an einem anderen Rechner / anderes Betriebssystem anzustoßen. Im konkreten Fall lies sich der iPod Video 5th Generation unter Max OSX 10.5 Leopard nicht zum Leben erwecken. Unter Windows XP jedoch problemlos (jeweils aktuelle iTunes Version 8.1.1)