iTunes Playlisten reverse speichern

1. Playlist öffnen und Ansicht auf Darstellung -> Anzeigen als -> Titel umstellen
2. Auf die Spalte mit der Nummerierung klicken und Playlist „umdrehen“
3. Zum Speichern der neuen Reihenfolge Rechtsklick auf Playlist-Name -> Zur Abspielreihenfolge kopieren
4. Erneut auf die Spalte mit der Zahl klicken um die neue Reihenfolge zu sehen

Quelle: https://discussions.apple.com/thread/7445552?start=0&tstart=0

Applications Don’t Show Up in Spotlight

Loading the metadata plist worked for me:

Turn off spotlight:
sudo mdutil -a -i off

Unload it:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist

Load It:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist

Turn on spotlight again:
sudo mdutil -a -i on

Now everything is being reindexed as expected.

For me it was not necessary to do unload/load procedure.

source: Link

macOS prompting for private ssh key after updating

First, run ssh-add -K and check whether this fixes your problem.

If not:

  • Removed the rsa_id.pub file and regenerated a new one (must be in ~/.ssh/):
    ssh-keygen -y -f id_rsa > id_rsa.pub
  • Ensured permissions were set to 600 for both id_rsa and id_rsa.pub (must be in ~/.ssh/):
    chmod 600 id_rsa*
  • Ran the following command:
    ssh-add -K

After doing this, I was no longer prompted to give my private key password. This appears to actually put the private key password in the correct keychain location for OS X to use.

source: http://apple.stackexchange.com/questions/18458/password-dialog-appears-when-ssh-private-key-permissions-are-set-to-0600

Xcode Autocompletion für Swift funktioniert nicht

Bei mir hat die Autocompletion/Syntax Highlighting für Swift Files innerhalb meines Projekts (Objective C und Swift) nicht mehr funktioniert. Abhilfe schaffte folgender Fix von Stackoverflow:

1) Xcode schließen
2) Terminal -> rm -rf ~/Library/Developer/Xcode/DerivedData/*
3) Terminal -> rm -rf ~/Library/Caches/com.apple.dt.Xcode
4) Xcode neustarten

Quelle: http://stackoverflow.com/questions/25133039/xcode-6-isnt-autocompleting-in-swift

RKObjectMapping.h Not Found

RestKit v0.39 hat in Verbindung mit der aktuellen CocoaPods Version bei mir zu massiven Problemen geführt. Ich habe für meine Build-Targets folgenden Fehler geworfen bekommen:

RKObjectMapping.h Not Found

Ein Eintrag auf Stackoverflow brachte mich auf den Weg, dieses Problem zu lösen

With the LATEST version of Cocoapods and Restkit : (thank's to @Alix's answer for the hint)

Go to Project Settings/Build Settings/Header Search Paths

Add these lines:

${PODS_ROOT}/Headers/Public/AFNetworking
${PODS_ROOT}/Headers/Public/Bolts
${PODS_ROOT}/Headers/Public/ISO8601DateFormatterValueTransformer
${PODS_ROOT}/Headers/Public/RKValueTransformers
${PODS_ROOT}/Headers/Public/RestKit
${PODS_ROOT}/Headers/Public/SOCKit
${PODS_ROOT}/Headers/Public

And make all of them RECURSIVE

Link: Stackoverflow

[iOS] sharedApplication is unavailable: not available on iOS (App Extension)

Ich habe aktuell ein Problem mit RestKit und weiteren Extensions in Verbindung mit einer Apple Watch Extension. Nach einem Update meiner CocoaPods Installation wurde ich mit folgendem Fehler konfrontiert:

'sharedApplication' is unavailable: not available on iOS (App Extension)

Ich konnte mein Projekt nicht mehr bauen, doch dafür gibt es einen kleinen Kniff, den ich bei Stackoverflow entdeckt habe:

To remove sharedApplication issue from CocoaPods Libraries you just need to change Build Options within Build Settings for your pod.

Just type to search Require Only App-Extension-Safe API and then change the value to NO as it is on the image below:

Xcode Einstellungen

Propably you will need to do this for every of your pods.

Das hat bei mir jedenfalls geholfen, auch wenn das an sich keine schöne Lösung ist.

Quelle: Link

[iOS] Projekt für Xcode 6.3 und iOS SDK 8.3 anpassen

Mit dem Umstieg von Xcode 6.2 auf Xcode 6.3 werden das aktuelle iOS SDK, sowie weitere Deploymenttools ausgeliefert. Wenn du ein historisch gewachsenes Projekt am Start hast, dann kann es bei dem Umstieg zu verschiedensten Problemen kommen:

Problem 1: Interface Builder Files (xib-Files)
„Could not load NIB in bundle“ war die Fehlermeldung, die ich nach der Umstellung auf Xcode 6.3 erhalten habe. Hat wohl was mit der aktuellen Version der integrierten „ibtool“ Bibliothek zu tun, war in diversen Einträgen zu lesen. Die dort geschilderten Lösungen trugen aber nicht zu Lösung meines Problems bei und waren auch teilweise nicht umsetzbar (da ich Size Classes in meinen XIB-Files verwende).

Abhilfe schaffte bei mi eine Einstellungsmöglichkeit in den betreffenden XIB-Files:

  • betreffendes XIB-File öffnen
  • im rechten Einstellungsfenster auf das erste Tab-Icon („Show the File Inspector“) klicken
  • unter der Sektion „Interface Builder Document“ die Einstellungsmöglichkeit „Builds For“ auf „Project Deployment Target (8.0)“ abändern
  • Projekt neubauen und starten

Damit musste ich auch keine Size-Classes deaktivieren und meine App stürzt an den entsprechenden Stellen auch nicht mehr ab.

Anscheinend gibt es auch noch ein Problem mit dem Tildezeichen in der Benamung der xib-Files. Deswegen am besten das Zeichen nicht mehr verwenden und stattdessen das Minus- oder den Unterstrich benutzen (das funktioniert jedenfalls bei mir)

Problem 2: „Embedded binary’s bundle identifier is not prefixed with the parent app’s bundle identifier“
Ich habe in meiner App eine Watch Kit App integriert, sowie unterschiedliche Deployments für Debug und Live. Zu diesem Zweck hatte ich für das Main-Target Custom Variablen angelegt. Bis Xcode 6.2 hat das Bauen auch super funktioniert, da man für die Watch Kit App einfach diese Custom Variable im „Bundle Indentifier“ weglassen konnte. Unter Xcode 6.2 hatte man nämlich keine Möglichkeit sie für das „WatchKit App“-Target über die Projekteinstellung zu setzen. Dies ist ab Xcode 6.3 nun möglich. Dort wurden die Einstellungen eben für dieses Target aufgebohrt und man kann nun Custom Variables eben für diesen Anwendungsfall setzen. Hat man dies getan, können diese Custom Variablen auch zur Generierung des Bundle Indentifiers genutzt werden.

Problem 3: WatchKit Code Signing Issues mit Xcode 6.3
Unter Xcode 6.3 gibt es durch die neuen Einstellungsmöglichkeiten für die WatchKit App nun Code Signing Issues beim Deployen. Possible Mobile beschreibt in einem ausführlichen Beitrag, wie man dieses Problem beheben kann.

[iOS] Build Nummer für Apple Watch App erhöhen

Ich stand vor dem Problem die Buildnummern für mein App-Target, sowie der WatchKit Extension und der WatchKit App synchron zu halten. Gelöst habe ich das mittels eines Buildscripts.

  • In der Projektkonfiguration das Main App-Target öffnen
  • Tab „Build Phases“ öffnen
  • Über das „+“-Icon „New Run Script Phase“ hinzufügen
  • folgende Scriptzeilen einfügen und eigene Targetnamen anpassen:
    buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
    buildNumber=$(($buildNumber + 1))
    /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${PROJECT_DIR}/${INFOPLIST_FILE}"
    /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$SRCROOT/AppName WatchKit Extension/Info.plist"
    /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$SRCROOT/AppName WatchKit App/Info.plist"
  • Projekt bauen und überprüfen ob es funktioniert

Quelle: Stackoverflow

[iOS] Jenkins und Provisioning Profiles

Da ich gerade doch einige Zeit mit Jenkins und Provisioning Profiles verbracht habe, möchte ich euch an dem Lösungsansatz teilhaben lassen.

Gefunden habe ich ihn auf dieser Seite:
Link: Jenkins Guide

Ein paar Punkte, die bei mir essentiell wichtig waren:

  • am besten den Schlüsselbund auf dem Rechner erstellen, auf dem er auch genutzt werden soll
  • das Zertifikat muss den privaten Schlüssel beinhalten, da sonst Jenkins beim Validieren aussteigt