Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.
morris

morris

Medlem
  • Registrerad 2002-11-07
  • Senast aktiv 2013-03-02
  • Antal inlägg 83

Foruminlägg

De senaste inläggen morris har skrivit i forumet.

Du kan be NSDocument-instansen om en lista på dess fönstercontrollers genom -windowControllers. Från en NSWindowController kan du sedan få fönstret genom -window.

Min poäng var bara att man har ganska liten nytta av Obj-C om det är skilt från Cocoa. Portabilitetsproblemen kvarstår naturligtvis vilket API man än använder, vilket är varför jag ställde mig frågande till Ingemar Ragnemalms argument att Cocoa var en återvändsgränd på grund av just portabilitet.

Ursprungligen av Ingemar Ragnemalm:

Det är möjligt att kalleh har rätt. Jag har länge ansett att det är slöseri med tid att lära sig Objective-C, eftersom det är en Mac-specifik återvändsgränd som bara kommer att finnas så länge NeXT-gänget styr Apple. Sedan åker det ut direkt. Jag kan inte tänka mig att Adobe m.fl. gillar det.

Carbon är också Mac-specifikt, så hur man än vänder och vrider på det måste man använda något Appleframework för att skriva GUI-bitarna. Enligt mina erfarenheter går det då mycket, mycket snabbare att ta fram GUI med Cocoa än med Carbon.

Men visst, Objective-C är definitivt Mac-specifikt. Portabel Objective-C innebär att man får jobba utan Cocoa, och då är det inte mycket man får med i kitet. Själva språket Obj-C är väldigt tunt, medan frameworken är desto rikare. Kombination är dock (i min åsikt) oslagbar, men portabel är den inte.

Om du bara vill köra varningsljudet finns även AppKitfunktionen NSBeep().

Det är helt normalt. I nyare versioner av Mac OS X ökas storleken stegvis upp till 1 GB, varefter nya alltid skapas 1 GB stora. De tas bort när du startas om och skapas automatiskt vid behov, så det finns inget rätt antal.

I byggfönstret finns det en liten ikon med text på bredvid ikonen för att visa varningar, etc. Om du klickar på den fälls en splitview ut där du kan se vilken kommandorad Xcode använde för att köra gcc. Kanske hjälper dig att debugga problemet.

Performance. Xcode är fruktansvärt långsam på det mesta när man har ett större projekt. 2.2 löste en del problem genom att tråda dependencyhantering, men det känns fortfarande alldeles för långsamt.

Ditt program har kraschat. Normalt ska man få upp en ruta när detta händer, men det kan vara annorlunda när man startar programmet från Xcode. Du kan också kolla att du har rätt inställning i programmet CrashReporterPrefs (ligger i /Developer/Applications/Utilities). Det är rätt praktiskt att ha på Developer, för då får man upp kraschloggen direkt.

I brist på annat kan du titta i ~/Library/Logs/CrashReporters/jox.crash.log med Console-programmet. Den loggen innehåller felmeddelande och backtraces.

Öppna dem i Xcode 2.1? 2.0 och senare läser gamla .xcode och konverterar dem till .xcodeproj.

Det där låter som om något av periodic-scripten som körs. De uppdaterar bland annat databasen för locate(1) och whatis(1), vilket kommer invokera både find, sort och ett par andra program. Från och med 10.4 kontrolleras de scripten via /System/Library/LaunchDaemons/com.apple.periodic-*.plist. Du kan ändra klockslag för scripten där om du vill, men tänk på att de kan skrivas över av en systemuppdatering iom att de ligger i /System.

<projektnamn>.build innehåller tempfiler från bygget, bland annat objektfiler innan de länkats samman, olika index etc. Om du tar bort den kommer den återskapas automatiskt nästa gång du bygger.

Varför du har en fil som heter ".scpt" i den bundle kan du nog bara själv svara på. Det är inget som genereras Xcode, för jag har då inga sådana i mina produkter. Du kanske har en build phase som installerar något AppleScript?

I alla fall, bygg med Deployment (eller "Release" i Xcode 2.1). Default för den konfigurationen är att ZeroLink är avstängt (vilket är varför ditt program bara går att starta på din dator från Xcode när du bygger Development/Debug), samt slå på optimeringsflaggor och slå av viss debugsymbolinformation.

Om man läser update(8), "man update", får man en bra beskrivning på vad processen gör. Varför den skulle krångla vet jag dock inte. Det kan dock vara intressant att sampla processen med t ex Shark eller Sampler och få ett hum om vad den sysslar med.

AuthorizationExecuteWithPrivileges kör inte ett NSTask, den gör en binär rakt upp och ned, som du anger i parametern pathToTool. Innan dess ber du systemet om rättigheten att göra program som root, och systemet frågar i sin tur användaren om ett adminlösenord.

Har du läst http://developer.apple.com/documentation/Security/Conceptual/authorization_concepts/index.html?

Ursprungligen av cal:

Är det inte någon som kan uttyda vad de där felraderna i X11-terminalen vid försök till igångspark av Matlab 7 R14 innebär?

Att Matlab är länkad till ett library som förväntas ligga i /usr/local/lib/libXm.2.dylib, men som inte finns där.

Om du vill få in libet i din bundle kan du lägga till en Copy Files Build Phase och välja Frameworks i infopanelen som kommer upp.