Apple útvegar mörg Macintosh forritaþróunarramma (kóðasöfn) sem appið þitt getur kallað til til að framkvæma þúsundir aðgerða í OS X. Margir þessara ramma, eins og PDF Kit, eru samsettir úr Objective-C flokkum, sem appið þitt getur úr búa til og nota hluti í forritunum þínum. Hins vegar eru sum þessara ramma bara söfn með aðgerðum sem appið þitt getur framkvæmt.
Til dæmis er CFNetwork ramma safn aðgerða sem appið þitt getur notað til að framkvæma fínstilltar nettengingar. NSURL flokkurinn býður upp á gott sett af grunnnetaðgerðum sem eru frábærar til að sækja gögn með því að nota vefslóð. Ef forritið þitt krefst meiri stjórn á netsamskiptum sem það kemur af stað, verður þú að nota CFNetwork ramma og aðgerðir þess. Þú gætir notað eftirfarandi kóða til að undirbúa HTTP beiðni fyrir sendingu á tiltekna vefslóð:
CFStringRef httpBody = CFSTR( " ); CFStringRef headerFieldName = CFSTR( "Cookie" ); // bættu tilteknu köku við HTTP beiðni CFStringRef headerFieldValue = CFSTR( "loginID=my_user_name; password=my_password;" ); "CFStringRefRef ur .diabeticpad.com" ); CFURLRef urlRef = CFURLCreateWithStrign( kCFAllocatorDefault, url, NULL ); CFStringRef requestMethod = CFSTR( "GET" ); CFHTTPMessageRef request = CFHTTPMessageCreateRequestOd1 // bættu við kökunni CFHTTPMessageSetHeaderFieldValue( request, headerFieldName, headerFieldValue ); CFDataRef serializedHttpRequest = CFHTTPMessageCopySerializedMessage( request );
Þegar kóðinn þinn hefur raðbeiðnina getur appið þitt opnað skrifstraum til að koma beiðninni á áfangastað.
Allar C-undirstaða Apple ramma bjóða upp á mengi aðgerða til að framkvæma þessa tegund af forritun á lægra stigi. Kóðinn þinn verður flóknari, en Apple býður ekki upp á Objective-C flokka fyrir alla ramma þess. Ef þú virkilega þarfnast þeirrar virkni sem til er í einum af þessum ramma, þá er þetta eina leiðin til að ná markmiðum appsins þíns. Eftirfarandi rammar bjóða ekki upp á Objective-C flokka:
Ef þú vilt búa til öpp sem geta nýtt sér eiginleika OS X til fulls þarftu að vera tilbúinn til að styðja notkun á non-Objective-C kóðasöfnum.