Apple nodrošina daudzas Macintosh lietojumprogrammu izstrādes sistēmas (koda bibliotēkas), kuras jūsu lietotne var izsaukt, lai veiktu tūkstošiem operāciju operētājsistēmā OS X. Daudzas no šīm ietvariem, piemēram, PDF komplekts, sastāv no Objective-C klasēm, no kurām jūsu lietotne var izveidot un izmantot objektus savās lietojumprogrammās. Tomēr daži no šiem ietvariem ir tikai to funkciju bibliotēkas, kuras var izpildīt jūsu lietotne.
Piemēram, CFNetwork ietvars ir funkciju kopums, ko jūsu lietotne var izmantot, lai veiktu precizētus tīkla savienojumus. NSURL klase nodrošina labu pamata tīkla darbību kopumu, kas ir lieliski piemērots datu izgūšanai, izmantojot URL. Ja jūsu lietotnei ir nepieciešama lielāka kontrole pār tās uzsāktajiem tīkla sakariem, jums būs jāizmanto CFNetwork sistēma un tās funkcijas. Varat izmantot šo kodu, lai sagatavotu HTTP pieprasījumu pārsūtīšanai uz noteiktu URL:
CFStringRef httpBody = CFSTR( " ); CFStringRef headerFieldName = CFSTR( "Sīkfails"); // pievienot konkrētu sīkfailu HTTP pieprasījumam CFStringRef headerFieldValue = CFSTR( "loginID=my_user_name; parole=mana_parole;" ); CFString =RefSTR(ur .diabeticpad.com" ); CFURLRef urlRef = CFURLCreateWithStrign( kCFAllocatorDefault, url, NULL ); CFStringRef requestMethod = CFSTR( "GET" ); CFHTTPZiņojumaRef pieprasījums = CFHTTPMessageRef pieprasījums = CFHTTPMessageRef request = CFHTTPMessageRef1); // pievienot sīkfailu CFHTTPMessageSetHeaderFieldValue(pieprasījums, headerFieldName, headerFieldValue ); CFDataRef serializedHttpRequest = CFHTTPMessageCopySerializedMessage( request );
Kad kods ir saņēmis serializētu pieprasījumu, jūsu lietotne var atvērt rakstīšanas straumi, lai nosūtītu pieprasījumu galamērķim.
Visas uz C balstītās Apple sistēmas nodrošina funkciju kopumu šāda veida zemāka līmeņa programmēšanas veikšanai. Jūsu kods kļūs sarežģītāks, taču Apple nenodrošina Objective-C klases visiem saviem ietvariem. Ja jums patiešām ir nepieciešama funkcionalitāte, kas pieejama kādā no šīm sistēmām, tas ir vienīgais veids, kā sasniegt savas lietotnes mērķus. Tālāk norādītie ietvari nenodrošina Objective-C klases:
Ja vēlaties izveidot lietotnes, kas var pilnībā izmantot OS X funkcijas, jums jābūt gatavam atbalstīt koda bibliotēku, kas nav Objective-C, izmantošanu.