Video: 63. Finished Painting Narrowboat & are out of the Polytunnel 2024
Del av Mac Application Development for Dummies Cheat Sheet
Apple gir mange Macintosh-programutviklingsrammer (kodebiblioteker) som appen din kan ringe for å utføre tusenvis av operasjoner i OS X. Mange av disse rammene, som PDF-settet, består av Objective-C-klasser, hvorfra appen din kan opprette og bruke objekter i applikasjonene dine. Noen av disse rammene er imidlertid bare biblioteker med funksjoner som appen din kan utføre.
CFNetwork-rammeverket er for eksempel et sett med funksjoner som appen din kan bruke til å utføre finjusterte nettverksforbindelser. NSURL-klassen gir et godt sett med grunnleggende nettverksoperasjoner som er gode for å hente data ved hjelp av en nettadresse. Hvis appen krever mer kontroll over nettverkskommunikasjonen den initierer, må du bruke CFNetwork-rammen og dens funksjoner. Du kan bruke følgende kode for å forberede en HTTP-forespørsel for overføring til en bestemt nettadresse:
CFStringRef httpBody = CFSTR ("); CFStringRef headerFieldName = CFSTR (" Cookie "); // legge til spesifikke informasjonskapsler til HTTP-forespørsel CFStringRef headerFieldValue = CFSTR (" loginID = my_user_name; password = my_password; " CFStringRef url = CFSTR ("www. Diabeticpad. Com"); CFURLRef urlRef = CFURLCreateWithStrign (kCFAllocatorDefault, url, NULL); CFStringRef requestMethod = CFSTR ("GET"); CFHTTPMessageRef request = CFHTTPMessageCreateRequest (kCFAllocatorDefault, requestMethod, url, kCFHTTPVersion1_1); CFHTTPMessageSetBody (forespørsel, httpBody); // legge til cookien CFHTTPMessageSetHeaderFieldValue (forespørsel, headerFieldName, headerFieldValue); CFDataRef serializedHttpRequest = CFHTTPMessageCopySerializedMessage (request);
Når koden din har seriellisert forespørsel, kan appen da åpne en skrive- stream for å levere forespørselen til bestemmelsesstedet.
Alle de C-baserte Apple-rammene gir et sett med funksjoner for å utføre denne typen programmering på lavere nivå. Ode blir mer komplisert, men Apple gir ikke mål-C-klasser for alle sine rammer. Hvis du virkelig trenger funksjonaliteten som er tilgjengelig i en av rammene, er dette den eneste måten du kan oppnå appens mål på. Følgende rammer gir ikke mål-C-klasser:
-
Lydverktøyskasse
-
CFNetwork
-
Kjerne MIDI
-
Kjerne Tekst
-
Katalogtjeneste (for eksempel LDAP og Open Directory)
-
Sikkerhet > Hvis du vil lage apper som kan dra full nytte av funksjonene til OS X, må du være klar til å støtte bruken av ikke-objektive C-kodebiblioteker.