Apple pakub palju Macintoshi rakenduste arendusraamistikke (kooditeeke), mida teie rakendus saab kutsuda tuhandete operatsioonide tegemiseks operatsioonisüsteemis OS X. Paljud neist raamistikest, näiteks PDF-komplekt, koosnevad Objective-C klassidest, millest teie rakendus saab luua ja kasutada oma rakendustes objekte. Mõned neist raamistikest on aga vaid funktsioonide teegid, mida teie rakendus saab täita.
Näiteks CFNetworki raamistik on funktsioonide komplekt, mida teie rakendus saab kasutada võrguühenduste peenhäälestamiseks. NSURL-i klass pakub head komplekti põhilisi võrgutoiminguid, mis sobivad suurepäraselt andmete toomiseks URL-i abil. Kui teie rakendus nõuab suuremat kontrolli selle algatatud võrgusuhtluse üle, peate kasutama CFNetworki raamistikku ja selle funktsioone. HTTP-päringu ettevalmistamiseks konkreetsele URL-ile edastamiseks võite kasutada järgmist koodi:
CFStringRef httpBody = CFSTR( " ); CFStringRef headerFieldName = CFSTR( "küpsis"); // lisage HTTP päringule konkreetne küpsis CFStringRef headerFieldValue = CFSTR( "loginID=minu_kasutaja_nimi; parool=minu_parool;" ); CFlRefSTR(urwww.CFString = .diabeticpad.com" ); CFURLRef urlRef = CFURLCreateWithStrign( kCFAllocatorDefault, url, NULL ); CFStringRef requestMethod = CFSTR( "GET" ); CFHTTPMessageRef taotlus = CFHTTPMessageRef taotlus = CFHTTPMessageRef1 request = CFHTTPMessageRef1 request = CFHTTPMessageRef1; // lisage küpsis CFHTTPMessageSetHeaderFieldValue( request, headerFieldName, headerFieldValue ); CFDataRef serializedHttpRequest = CFHTTPMessageCopySerializedMessage( request );
Kui teie koodil on järjestatud taotlus, saab teie rakendus avada kirjutusvoo, et päring sihtkohta toimetada.
Kõik C-põhised Apple'i raamistikud pakuvad seda tüüpi madalama taseme programmeerimise teostamiseks funktsioonide komplekti. Teie kood muutub keerulisemaks, kuid Apple ei paku kõigi oma raamistike jaoks Objective-C klasse. Kui vajate tõesti ühes neist raamistikest saadaolevaid funktsioone, on see ainus viis oma rakenduse eesmärkide saavutamiseks. Järgmised raamistikud ei paku Objective-C klasse:
Kui soovite luua rakendusi, mis saavad OS X-i funktsioone täielikult ära kasutada, peate olema valmis toetama mitte-Objective-C kooditeeke.