=

Daschmi's Notizblog

RSS Feed

Zertifikat für den Apple Push Server erstellen

Erstellt in IPhone SDK am 10. November 2015

Damit man mit dem Apple Notification Server kommunizieren kann, muss man jedes Jahr ein Zertifikat erstellen. Dazu muss man den Privaten Schlüssel und das Zertifikat exportieren und wie folgt umwandeln.

Exportierte .p12 Dateien in .pem Dateien umwandeln:

openssl pkcs12 -clcerts -nokeys -out cert.pem -in cert.p12
openssl pkcs12 -nocerts -out key.pem -in key.p12

Passwort aus Key entfernen:

openssl rsa -in key.pem -out key-nopwd.pem

Dateien kombinieren:

cat cert.pem key-nopwd.pem > apn.pem

Kommunikation testen:

openssl s_client -connect gateway.push.apple.com:2195 -cert cert.pem -key key-nopwd.pem

HTTP in iOS 9.0 standardmäßig deaktiviert.

Erstellt in IPhone SDK am 21. Oktober 2015

Apple hat das unverschlüsselte HTTP Protokoll mit dem Update auf iOS 9.0 standardmäßig deaktiviert und es sind nur noch HTTPS Anfragen zulässig. Weiterhin werden nur noch bestimmte Verschlüsselungsalgorithmen von Apple als sicher eingestuft und erlaubt.

Apple erläutert diesen Schritt hier.

Mittels folgendem Eintrag in der plist Datei eines XCode Projektes sind aber weiterhin HTTP Anfragen möglich:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key><true/>
</dict>

MD5 Checksumme mit Apple Swift berechnen

Erstellt in Apple Swift am 24. November 2014

Leider fehlt der Programmiersprache Swift von Apple eine implementation des MD5 Hash Algorithmuses. Dieser kann aber leicht durch eine Erweiterung des String Datentypes nachgerüstet werden:

extension String  {
    var md5: String! {
        let str = self.cStringUsingEncoding(NSUTF8StringEncoding)
        let strLen = CC_LONG(self.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))
        let digestLen = Int(CC_MD5_DIGEST_LENGTH)
        let result = UnsafeMutablePointer<CUnsignedChar>.alloc(digestLen)

        CC_MD5(str!, strLen, result)

        var hash = NSMutableString()
        for i in 0..<digestLen {
            hash.appendFormat("%02x", result[i])
        }

        result.destroy()

        return String(format: hash)
    }
}

Angewendet wird das ganze dann einfach wie folgt:

var strHASH : NSString = strToHash.md5

Bilder in iOS auf Breite skallieren unter Beachtung des Seitenverhältnisses

Erstellt in IPhone SDK am 30. September 2013

- (UIImage *)imageWithImage: (UIImage *)sourceImage {

i_width = 640; // Neue Breite für das Bild

float oldWidth = sourceImage.size.width;
float scaleFactor = i_width / oldWidth;

float newHeight = sourceImage.size.height * scaleFactor;
float newWidth = oldWidth * scaleFactor;

UIGraphicsBeginImageContext(CGSizeMake(newWidth, newHeight));
[sourceImage drawInRect:CGRectMake(0, 0, newWidth, newHeight)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

return newImage;

}

Bilder im Album speichern aus einer iOS App

Erstellt in IPhone SDK am 15. April 2013

Um Bilder im Album „Aufnahmen“ abzulegen, kann folgender Code in einer iOS App verwendet werden:

UIImageWriteToSavedPhotosAlbum(img, nil, nil, nil);


Bitte genehmigen Sie die Verwendung von Cookies dieser Website! Mehr Informationen

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close