Apple nudi mnoge Macintosh okvire za razvoj aplikacija (biblioteke kodova) koje vaša aplikacija može pozvati za izvođenje tisuća operacija u OS X. Mnogi od tih okvira, kao što je PDF Kit, sastoje se od Objective-C klasa, iz kojih vaša aplikacija može stvarati i koristiti objekte unutar svojih aplikacija. Međutim, neki od ovih okvira samo su biblioteke funkcija koje vaša aplikacija može izvršiti.
Na primjer, okvir CFNetwork je skup funkcija koje vaša aplikacija može koristiti za izvođenje fino podešenih mrežnih veza. Klasa NSURL pruža dobar skup osnovnih mrežnih operacija koje su odlične za dohvaćanje podataka pomoću URL-a. Ako vaša aplikacija zahtijeva veću kontrolu nad mrežnom komunikacijom koju pokreće, morat ćete koristiti okvir CFNetwork i njegove funkcije. Možete koristiti sljedeći kod za pripremu HTTP zahtjeva za prijenos na određeni URL:
CFStringRef httpBody = CFSTR( " ); CFStringRef headerFieldName = CFSTR( "Cookie" ); // dodaj određeni kolačić u HTTP zahtjev CFStringRef headerFieldValue = CFSTR( "loginID=my_user_name; password=my_password;" ); CFStringRef u CFStringRef(www. .diabeticpad.com" ); CFURLRef urlRef = CFURLCreateWithStrign( kCFAllocatorDefault, url, NULL ); CFStringRef requestMethod = CFSTR( "GET" ); CFHTTPMessageRef zahtjev = CFHTTPMessageCreateWithStrign( kCFAllocatorDefault, url, NULL ); CFStringRef requestMethod = CFSTR( "GET" ); CFHTTPMessageRef zahtjev = CFHTTPMessageCreateWithStrign( CFAllocatorDefault, url, NULL); // dodaj kolačić CFHTTPMessageSetHeaderFieldValue( request, headerFieldName, headerFieldValue ); CFDataRef serializedHttpRequest = CFHTTPMessageCopySerializedMessage( request );
Nakon što vaš kod ima serijalizirani zahtjev, vaša aplikacija može otvoriti stream za pisanje kako bi zahtjev isporučila na njegovo odredište.
Svi Appleovi okviri temeljeni na C-u pružaju skup funkcija za izvođenje ove vrste programiranja niže razine. Vaš će kod postati kompliciraniji, ali Apple ne nudi Objective-C klase za sve svoje okvire. Ako stvarno trebate funkcionalnost dostupnu u jednom od tih okvira, to je jedini način na koji možete postići ciljeve svoje aplikacije. Sljedeći okviri ne pružaju Objective-C klase:
Ako želite stvoriti aplikacije koje mogu u potpunosti iskoristiti značajke OS X, morate biti spremni podržati korištenje knjižnica kodova koji nisu Objective-C.