Apple ofereix molts marcs de desenvolupament d'aplicacions per a Macintosh (biblioteca de codi) als quals la vostra aplicació pot trucar per dur a terme els milers d'operacions a OS X. Molts d'aquests marcs, com ara el kit PDF, es componen de classes Objective-C, a partir de les quals la vostra aplicació pot Creeu i utilitzeu objectes dins de les vostres aplicacions. Tanmateix, alguns d'aquests marcs són només biblioteques de funcions que la vostra aplicació pot executar.
Per exemple, el marc CFNetwork és un conjunt de funcions que la vostra aplicació pot utilitzar per realitzar connexions de xarxa afinades. La classe NSURL proporciona un bon conjunt d'operacions bàsiques de xarxa que són excel·lents per recuperar dades mitjançant un URL. Si la vostra aplicació requereix més control sobre les comunicacions de xarxa que inicia, haureu d'utilitzar el marc CFNetwork i les seves funcions. Podeu utilitzar el codi següent per preparar una sol·licitud HTTP per a la transmissió a un URL específic:
CFStringRef httpBody = CFSTR( "); CFStringRef headerFieldName = CFSTR("Cookie"); // afegeix una galeta específica a la sol·licitud HTTP CFStringRef headerFieldValue = CFSTR( "loginID=my_user_name; password=my_password;"); CFStringRef url = CFSTR( "www. .diabeticpad.com" ); CFURLRef urlRef = CFURLCreateWithStrign( kCFAllocatorDefault, url, NULL ); CFStringRef requestMethod = CFSTR( "GET" ); CFHTTPMessageRef sol·licitud = CFHTTPMessageCreateRequest (kCFAllocatorDefault, url, requestMethod; // afegeix la galeta CFHTTPMessageSetHeaderFieldValue( sol·licitud, headerFieldName, headerFieldValue ); CFDataRef serializedHttpRequest = CFHTTPMessageCopySerializedMessage( sol·licitud);
Un cop el vostre codi tingui la sol·licitud serialitzada, la vostra aplicació pot obrir un flux d'escriptura per enviar la sol·licitud a la seva destinació.
Tots els frameworks d'Apple basats en C proporcionen un conjunt de funcions per dur a terme aquest tipus de programació de nivell inferior. El vostre codi es complicarà, però Apple no ofereix classes Objective-C per a tots els seus marcs. Si realment necessiteu la funcionalitat disponible en un d'aquests marcs, aquesta és l'única manera d'assolir els objectius de la vostra aplicació. Els marcs següents no proporcionen classes Objective-C:
Si voleu crear aplicacions que puguin aprofitar al màxim les característiques d'OS X, heu d'estar preparats per admetre l'ús de biblioteques de codi que no siguin Objective-C.