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:


RetroCollect FM - Retro Gaming Podcast
RetroCollect

Relative Paths | Web Development and stuff like that
Mark Phoenix and Ben Hutchings

Future Talk
Justinvent

Intel Chip Chat: Network Insights
Intel Corporation

Konnekted
Balazs Fejes

Red Button Blue Button
Red Button Blue Button

The IT Governance Podcast
IT Governance

Podcast DIOE (mp3)

Hi Five Studios
Hi-Five Studios

DayngrZone Media
DayngrZone Media

Cloud Cast
Alexander Derksen

Frauen & Technik
Frauen und Technik