Video: The Legend of Jon - This is Only a Test 516 - 9/5/19 2024
En del av Mac Application Development for Dummies Cheat Sheet
Apple tillhandahåller många Macintosh-programutvecklingsramar (kodbibliotek) som din app kan ringa för att utföra de tusentals operationer i OS X. Många av dessa ramar, till exempel PDF-paketet, består av objektiv-C-klasser, varifrån din app kan skapa och använda objekt inom dina applikationer. Men några av dessa ramar är bara bibliotek av funktioner som din app kan utföra.
Exempelvis är CFNetwork Framework en uppsättning funktioner som din app kan använda för att utföra finjusterade nätverksanslutningar. NSURL-klassen ger en bra uppsättning grundläggande nätverksoperationer som är bra för att hämta data med en URL. Om din app kräver mer kontroll över de nätverkskommunikationer som den initierar måste du använda CFNetwork-ramen och dess funktioner. Du kan använda följande kod för att förbereda en HTTP-begäran för överföring till en specifik webbadress:
CFStringRef httpBody = CFSTR ("); CFStringRef headerFieldName = CFSTR (" Cookie "); // Lägg till specifik cookie till HTTP-förfrågan 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 (begäran, httpBody); // lägg till cookien CFHTTPMessageSetHeaderFieldValue (begäran, headerFieldName, headerFieldValue); CFDataRef serializedHttpRequest = CFHTTPMessageCopySerializedMessage (request);
När din kod har serialiserad begäran kan din app öppna en skriv- strömma för att leverera begäran till dess destination.
Alla C-baserade Apple-ramar ger en uppsättning funktioner för att utföra denna typ av lägre nivå programmering. ode kommer bli mer komplicerat, men Apple tillhandahåller inte mål-C-klasser för alla dess ramar. Om du verkligen behöver funktionaliteten tillgänglig i en av de här ramarna är det här det enda sättet att nå dina appers mål. Följande ramar tillhandahåller inte mål-C-klasser:
-
Ljudverktygslådan
-
CFNetwork
-
Kärn MIDI
-
Kärntext
-
Katalogtjänst (som LDAP och Open Directory)
-
Säkerhet > Om du vill skapa appar som kan dra full nytta av funktionerna i OS X måste du vara redo att stödja användningen av icke-objektiv-C-kodbibliotek.