Az Apple számos Macintosh alkalmazásfejlesztési keretrendszert (kódkönyvtárat) biztosít, amelyeket az alkalmazás meghívhat az OS X több ezer műveletének végrehajtásához. Sok ilyen keretrendszer, például a PDF Kit, Objective-C osztályokból áll, amelyekből az alkalmazás képes objektumokat hozhat létre és használhat az alkalmazásokon belül. E keretrendszerek némelyike azonban csak olyan függvénykönyvtár, amelyet az alkalmazás végrehajthat.
Például a CFNetwork keretrendszer olyan funkciók halmaza, amelyek segítségével az alkalmazás finomhangolt hálózati kapcsolatok létrehozására használhatja. Az NSURL osztály az alapvető hálózati műveletek jó készletét kínálja, amelyek nagyszerűek az adatok URL használatával történő lekéréséhez. Ha alkalmazásának nagyobb ellenőrzésre van szüksége az általa kezdeményezett hálózati kommunikáció felett, akkor a CFNetwork keretrendszert és annak funkcióit kell használnia. A következő kóddal elkészítheti a HTTP-kérést egy adott URL-re történő továbbításhoz:
CFStringRef httpBody = CFSTR( " ); CFStringRef headerFieldName = CFSTR( "Cookie" ); // konkrét cookie hozzáadása a HTTP kéréshez CFStringRef headerFieldValue = CFSTR( "loginID=saját_felhasználónév; jelszó=saját_jelszó;" ); "urwwwStringRefSTR" .diabeticpad.com" ); CFURLRef urlRef = CFURLCreateWithStrign( kCFAllocatorDefault, url, NULL ); CFStringRef requestMethod = CFSTR( "GET" ); CFHTTPMessageRef request = CFHTTPMessageRef request = CFHTTPMessageRef request = CFHTTPMessageRef request = CFHTTPMessageRef // a cookie hozzáadása CFHTTPMessageSetHeaderFieldValue( request, headerFieldName, headerFieldValue ); CFDataRef serializedHttpRequest = CFHTTPMessageCopySerializedMessage( request );
Miután a kód megkapta a sorosított kérést, az alkalmazás megnyithat egy írási adatfolyamot, hogy a kérést a célállomásra kézbesítse.
Az összes C-alapú Apple keretrendszer rendelkezik funkciókkal az ilyen típusú alacsonyabb szintű programozás végrehajtásához. A kódja bonyolultabb lesz, de az Apple nem biztosít Objective-C osztályokat minden keretrendszeréhez. Ha valóban szüksége van az egyik keretrendszerben elérhető funkcionalitásra, csak így érheti el az alkalmazás céljait. A következő keretrendszerek nem biztosítanak Objective-C osztályokat:
Ha olyan alkalmazásokat szeretne létrehozni, amelyek teljes mértékben ki tudják használni az OS X funkcióit, készen kell állnia a nem Objective-C kódkönyvtárak használatának támogatására.