allfeeds.ai

 

Cocoa Maker  

Cocoa Maker

Learn Objective-C

Author: Mr. Gecko

Cocoa Maker is a Podcast to teach you how to make applications using Cocoa that starts from the beginning to the end. We will teach you things from Memory Management to the Syntax of Cocoa it self.
Be a guest on this podcast

Language: en-us

Genres: Education, How To, Technology

Contact email: Get it

Feed URL: Get it

iTunes ID: Get it


Get all podcast data

Listen Now...

Cocoa Maker 7 - Libraries and Frameworks
Tuesday, 13 April, 2010

James (MrGeckosMedia.com), joined by, Eduardo (MegaEduX.com), and Nick, explains libraries and frameworks. 11:56 Example code from episode. Libraries Libraries included, /usr/lib/libcrypto.dylib and /usr/lib/libssl.dylib #import <Foundation/Foundation.h> #import <openssl/evp.h> int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSString *string = @"Hello"; OpenSSL_add_all_algorithms(); unsigned char outbuf[EVP_MAX_MD_SIZE]; unsigned int templen, inlen = [string length]; const char *input = [string UTF8String]; EVP_MD_CTX ctx; const EVP_MD *digest = EVP_md5(); if(!digest) { NSLog(@"cannot get digest with name MD5"); return 1; } EVP_MD_CTX_init(&ctx); EVP_DigestInit(&ctx,digest); if(!EVP_DigestUpdate(&ctx,input,inlen)) { NSLog(@"EVP_DigestUpdate() failed!"); EVP_MD_CTX_cleanup(&ctx); return 1; } if (!EVP_DigestFinal(&ctx, outbuf, &templen)) { NSLog(@"EVP_DigesttFinal() failed!"); EVP_MD_CTX_cleanup(&ctx); return 1; } EVP_MD_CTX_cleanup(&ctx); NSMutableString *md5 = [NSMutableString string]; for (int i=0; i<templen; i++) { [md5 appendFormat:@"%x", outbuf[i]]; } NSLog(@"MD5 of %@ is %@", string, md5); [pool drain]; return 0; } Frameworks Frameworks included, AddressBook.framework #import <Foundation/Foundation.h> #import <AddressBook/AddressBook.h> int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; ABAddressBook *addressBook = [ABAddressBook sharedAddressBook]; NSArray *people = [addressBook people]; for (int i=0; i<[people count]; i++) { ABPerson *person = [people objectAtIndex:i]; NSString *firstName = [person valueForProperty:kABFirstNameProperty]; NSString *lastName = [person valueForProperty:kABLastNameProperty]; NSString *name = nil; if (firstName!=nil) { name = firstName; if (lastName!=nil) name = [name stringByAppendingFormat:@" %@", lastName]; } if (name!=nil) NSLog(@"Person named: %@", name); } [pool drain]; return 0; } Keynote used in this Episode Keynote in PDF Format

 

We also recommend:


The Intelligence Shift
Morning Brew Inc.

GetConnected Segments
GetConnected

Digital Nepal - for iPod/iPhone
The Open University

Identical Cousins
Brent and Michael Simmons

archive 12
KUMAMARU



Batman Talk Podcast - Batmantalk
Jesus Heredia

Between | Screens Podcast
Between Screens Podcast

Data Science at Home
Francesco Gadaleta

Prototype
Prototype

konglomerat.fm
Dirk Reimers

Cloud Native Podcast
Matt Farina and Matt Butcher