Lade...
 

IOS - all from the i-World

Swift - Datei öffnen (Playground)

Kay Mittwoch Oktober 9, 2019

Ich habe lezutens ein kurzes Beispiel gesucht, um im Xcode-Playground ein File von Festplatte öffnen zu können. Dazu findet man viele sehr ausführliche Anleitungen im Netz. Nur oft beschreiben die nicht genau das, was ich gesucht habe. Deswegen möchte ich hier mal ein kleines Codeschnipsel zur Verfügung stellen. Ich bin weder der Urheber, noch will ich sagen, dass dies der einzig richtige Weg wäre. Tatsächlich ist dies quick and dirty, halt für die Spieleumgebung Playground gedacht.
Genug der warmen Worte. Legen wir los.
Als Voraussetzung wähle ich einen leeren Playground für MacOS und stelle sicher, dass das Cocoa-Framework eingebunden ist:

import Cocoa

Jetzt definiere man erstmal einen String der den Pfad+Datei enthällt:

let completeFile = String("/Users/xxxxxxxxx/Desktop/EXAMPLE.TXT")

Nun die Variable, die die Daten enthalten soll (Ich möchte eine Textdatei einlesen, deswegen als String definieren):

var readData :String

Und jetzt das ganze Zauberwerk. Hier wird ein do/catch Block benötigt, da ja beim Zugriff und Lesen der Datei so einiges schiefgehen kann.

do {
    readData = try String(contentsOfFile: completeFile, encoding: .isoLatin1)
} catch {
    print(error)
    // Handle the error
}

Das Encoding ist hier wichtig. Dies ist ein File, was aus der Microsoft-Welt kommt und muss mit isoLatin1 encoded werden. In der Apple-Welt ist UTF-8 normal.
Viel Spaß beim Nachmachen...

Die Tücken der APFS-Snapshots...

Kay Mittwoch Mai 8, 2019

Wie man ja an meinen Einträgen sieht, bin ich eher Apple-Lastig unterwegs. Da ich aber lang genug auch in der Microsoft-Welt unterwegs war und ich gerne das technisch machbare ausprobieren will, habe ich mich der Boot Camp-Problematik mal wieder hingegeben.

Mal abgesehen davon, dass man auf Apple-Geräten auch Windows ohne Boot Camp zum laufen bekommt (hierzu gibt es genug Dokumentation zu finden bei Google), wollte ich an alten Backups dran, die ich damals mit Acronis True Image gemacht habe, und leider geht das nur unter Windows.

Also den Bootcamp-Assistenten angeschmissen. Eine neue Partition wollte ich erstellen und laut Support-Dokument von Apple weiter machen.
Für Windows wollte ich 100GB meiner 3TB abknippsen. Und.... RUMMS. Ein unerwarteter Fehler trat auf. Sollte das an dem APFS liegen ?

Meine erste Problemlösung ist nunmal googeln, Logfiles checken oder Manpages studieren.
Irgendwo im Netz was von Snapshots gelesen, die Probleme beim Partitionieren bereiten können. Sollte es das schon sein ?

Mal geprüft, ob dort so ein Snapshot liegt:

tmutil listlocalsnapshots /


Ergebnis:

com.apple.TimeMachine.2019-xx-xx-172906


Also weg damit:

sudo tmutil deletelocalsnapshot 2019-xx-xx-172906
Deleted local snapshot '2019-xx-xx-172906'


Und danach ging es....

Safari und Citrix Receiver - So öffnen sich die Ica-Links automatisch

Kay Freitag Februar 8, 2019

Seit dem Update auf Mac OS Mojave 10.14 hat sich das Sicherheitskonstrukt im Safari geändert. Viele vorher automatisch gestartete Links werden jetzt nicht mehr gestartet und/oder nur als Download im Downloadordner gespeichert.
In diesem Fall geht es mir speziell um "ICA-Links". Dies sind Links die mit dem Citrix Workspace bzw. dem Citrix Receiver geöffnet werden.
Wie bekomme ich den Safari jetzt wieder dazu, diese Links automatisch zu öffnen ?
Die erste Voraussetzung ist, dass in den Einstellungen im Safari die Option "Sichere" Dateien nach dem Download öffnen aktiviert ist:

Safari Prefs

Achtung! Die Aktivierung hat noch einen Nebeneffekt. Lädt man jetzt zip-Files herunter, werden diese direkt entpackt. Wie man das wiederum verhindert, erkläre ich weiter unten.

Nun muss noch eine Datei angelegt oder, wenn bereits vorhanden, modifiziert werden.
Die Datei, um die es geht, heisst "com.apple.DownloadAssessment.plist". Zu finden ist diese unter "~/Library/Preferences/".

Wenn nur der benötigte Eintrag vorhanden ist, sieht der Inhalt so aus:

<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com-PropertyList-1.0.dtd"> 
<plist version="1.0"> 
    <dict> 
        <key>LSRiskCategorySafe</key> 
        <dict> 
            <key>LSRiskCategoryExtensions</key> 
            <array> 
                <string>ica</string>  
            </array> 
        </dict> 
    </dict> 
</plist>

Dort können auch mehrer <string>-Einträge vorhanden sein (für jede Linkextension eine).

Eintrag um zip-Files (oder andere) nicht automatisch zu entpacken:

Im selben File, wo wir eben die Ica-Links als sicher eingetragen haben, können wir auch andere als neutral eintragen:
Die komplette Datei mit erlaubten Ica-Links und neutralen zip-Links sieht dann so aus:

<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com-PropertyList-1.0.dtd"> 
<plist version="1.0"> 
    <dict> 
        <key>LSRiskCategorySafe</key> 
        <dict> 
            <key>LSRiskCategoryExtensions</key> 
            <array> 
                <string>ica</string>  
            </array> 
        </dict> 
    </dict>
    <dict> 
        <key>LSRiskCategoryNeutral</key> 
        <dict> 
            <key>LSRiskCategoryExtensions</key> 
            <array> 
                <string>zip</string>  
            </array> 
        </dict> 
    </dict>
</plist>


Ich hoffe, mit dieser komprimierten Anleitung helfen zu können.

Nach MacOs X Mojave Update keine ssh-Verbindung mit Strato möglich

Kay Sonntag Oktober 14, 2018

Nach dem ich kürzlich mal wieder auf Strato per Terminal zugreifen wollte erlebte ich eine kleine Überraschung.
Die Eingabe

ssh -l <meine_Domaine> ssh.strato.de

ergab folgende Ausgabe:

ssh_rsa_verify: RSA signature type mismatch: expected rsa-sha2-512 received ssh-rsa
ssh_dispatch_run_fatal: Connection to 2a01:238:20a:202:13f0::1 port 22: incorrect signature


Hm, wieder etwas, was mit erst nach dem Update auf Macos X Mojave auffällt. Was nun ?
Zuerst einmal, was wohl die meisten tun: GOOGELN. Leider kam nicht viel nützliches (was mich auch dazu bewegte, die Erfahrung zu bloggen).
Also erstmal in meine eigene known_hosts geschaut:

vi ~/.ssh/known_hosts

Dort gab es einen Eintrag von Strato:

ssh.strato.de,2a01:238:20a:202:13f0::1 ssh-rsa xxxxxxxxxxxxxxxx...


Diesen habe ich gelöscht (notfalls wird dieser ja eh neu erstellt).

Und siehe da, der Befehl

ssh -l <meine_Domaine> ssh.strato.de

ergab nun die Information

The authenticity of host 'ssh.strato.de (2a01:238:20a:202:13f0::1)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ssh.strato.de,2a01:238:20a:202:13f0::1' (ECDSA) to the list of known hosts.


Und nun läuft es wieder.

iTunes 12.7 entfernt App-Synconisation

Kay Donnerstag September 14, 2017

Update 12.7 entfernt App-Synconisation von der Benutzeroberfläche

Für alle, die im Appstore gelöschte Apps, noch in ihrem iTunes pflegen (solange diese dort sind, kann man diese auch noch installieren - zumindest bisher ), ist das neue iTunes 12.7 nicht zu empfehlen. Genau genommen ist sogar von dem Update für diese Personen abzuraten.

Klingeltöne auch betroffen

Auch die Klingeltöne werden nunmehr nicht mehr in iTunes verwaltet. Nach dem Update auf 12.7 fehlen diese Optionen. Ein Schritt den Apple wohl bewusst geht.

Apple mistet aus

Zum einen liegt es wohl an der zwingenden 64-Bit Fähigkeit von Apps, zum anderen an Altlasten. So sind zum Beispiel viele alte HD-Versionen auf dem iPad installiert, für die es mittlerweile eine neue Universal-App gibt. Ein Beispiel ist zum Beispiel Finanzblick von Buhl. Wenn also am nächsten Dienstag iOS11 released wird, will man sich offenbar so der Altlasten entledigen.

Lokale Dateien sind nicht weg

...zumindest noch nicht. iTunes speichert die App-Dateien standardmäßig unter Windows (ab Win 7) in C:\Benutzer\Benutzername\Eigene Musik\iTunes\ und unter MacOS findet man diese in "Benutzerordner" > "Musik" > "iTunes".

Die Falle des Apple TV (4. Generation)

Kay Donnerstag November 5, 2015

lange gab es keine Neuigkeiten mehr. Hier mal eine kleine lustige Information. Über das neue Apple TV kann man sicherlich streiten. Ich bin nun stolzer Besitzer eines solchen Gerätes. Wie es immer so ist. nach der Lieferung ausgepackt, gefreut, angeschlossen und losgelegt...
FALSCH ! Die neue Fernbedienung geht nicht. WTF !. Reboot und nochmal neu. Wieder nix. Bild da, Fernbedienung nicht. Gerade wollte ich schon wieder das alte Apple TV anschließen und einen Case bei Apple aufmachen, das bewegt sich was auf dem Bildschirm. Und wieder: WTF. Ich war auf die alte Fernbedienung gekommen und diese war aktiv.
So, kurz nachgedacht, neues Apple TV wieder zurückgesetzt und die Batterie aus der Fernbedienung der alten Apple TV Fernbedienung entfernt ...
.. jetzt ging es. Also alle, die ihr Apple TV austauschen, denkt daran, die alte Fernbedienung entweder weit wegzubringen oder nehmt vorher die Batterie raus ;-)

Geteilte Tastatur nach iOS 7.0.4 update

Kay Montag November 18, 2013

Nachdem das Update 7.0.4 aufgespielt ist, erhält man auf dem iPad eine geteilte Tastatur. Wer diese nicht mag, kann sie unter Einstellungen - Allgemein - Tastatur - Geteilte Tastatur wieder deaktivieren.
Dies hier zur Info, da mich derzeit einige Anfragen dafür erreichen. Auch hier gilt mal wieder: "Kenne Dein iPad". Für alle, die da noch Nachholbedarf haben, empfehle ich das aktuelle Benutzerhandbuch für iPad. Dies ist kostenlos im Book-Store über die iBook-App zu laden.

eigene Sounds mit Winterboard

Kay Montag Juni 11, 2012

Wer eigene Systemsounds nutzen möchte, geht am besten wie folgt vor:

  1. Konvertiert eure benötigen Sounds ins CAF-Format. Beispiel weiter unten...
  2. Winterboard installieren (sollte es schon vorhanden sein, kann der Punkt natürlich übersprungen werden).
  3. Unter /var/stash/Themes.xxxxxx/ einen neuen Ordner z.B. MySound.theme anlegen. Dies kann entweder mit iFile, MobileTerminal oder per SSH-Sitzung mit Putty gemacht werden (Kommando (Beispiel): mkdir /var/stash/Themes.xxxxxx/MySound.theme).
  4. In dem neuen Ordner muss ein weiterer Unterordner namens UISounds angelegt werden.
  5. Darin kann man die erstellten oder runtergeladenen Sound ablegen. Achtet auf die richtigen Namen. Der Sound beim sperren des iPhones heisst z.B. lock.caf. Eine kleine Liste schreibe ich am Ende dieses Blogs.
  6. Jetzt müsst ihr nur noch im Winterboard euren (Sound-)Theme auswählen und nach dem Respring habt ihr neue Sounds...

CAF-Sound erstellen:
z.B. MP3 mit iTunes (in den optionen -> erweitert -> importieren mit -> auf aiff umstellen) importieren. Beim importieren in iTunes wird die MP3 jetzt in AIFF umgewandelt. Diese kann man dann aus iTunes kopieren und die Endung einfach in CAF umbenennen. Fertig.
Im Netz findet man aber auch Konverter, die die Arbeit einfacher und schneller machen. Sucht einfach nach "Switch Sound File Converter".
Filenamen (Auszüge):
SMS-Sound (System):

  • sms-received1.caf
  • sms-received2.caf
  • sms-received3.caf
  • sms-received4.caf
  • sms-received5.caf
  • sms-received6.caf

Lock/Unlock:

  • lock.caf
  • unlock.caf

Lade- bzw. Plugsound (Wenn das iPhone am Kabel angeschlossen wird):

  • beep-beep.caf

Fehler 0xe8000012 in iTunes

Kay Donnerstag Juni 7, 2012

Hier ein etwas merkwürdiges Verhalten und die Lösung dazu. Nachdem ich mein iPhone 4 mit iOS 5.1.1 und Absinthe 2.0.1 Jailbreak an meinem zweiten Rechner anschliessen wollte, kam der Fehler in iTunes: 'iTunes konnte sich nicht mit diesem iPhone verbinden da ein unbekannter Fehler aufgetreten ist - 0xe8000012'.
Dies war sehr kurios, da auf meinem ersten Rechner alles in Ordnung war. Im Logfile von iTunes (unter XP - c:\Dokumente und Einstellungen\USERNAME\Anwendungsdaten\Apple Computer\Logs\asl.xxxx_DATE.log) gab es folgende Einträge:

3392 @ Thu Jun 07 13:29:01 2012 (unknown facility) iTunes.exe _AMDDeviceAttachedCallbackv3 (thread 2180): Device 'AMDevice 03E35E00 {UDID = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, device ID = 1, location ID = 0x0, product ID = 0x1297}' attached.
3392 @ Thu Jun 07 13:29:01 2012 (unknown facility) iTunes.exe load_dict_windows (thread 2180): CreateFileA() failed C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Apple\Lockdown\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.plist: 2.
3392 @ Thu Jun 07 13:29:01 2012 (unknown facility) iTunes.exe AMDeviceValidatePairing (thread 2180): Could not load pairing record C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Apple\Lockdown\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.plist
3392 @ Thu Jun 07 13:29:01 2012 (unknown facility) iTunes.exe _MobileDevicePair_locked (thread 2180): Could not create pairing material.

Danach habe ich auf dem Rechner, der funktionierte, nach eben diesen xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.plist Files gesucht (unter Win7 x64 liegen sie unter C:\ProgammData\Apple\Lockdown ), alle Files von dort kopiert und auf den XP-Rechner eingefügt.

Danach erkannte auch dort iTunes wieder mein iPhone !!!
Ich hoffe, dieser Trick hilft einigen weiter....