Skapa en Cocoa droplet

Tråden skapades och har fått 9 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Örebro
  • 2009-09-22 00:48

Hej!

Jag försöker göra en liten droplet i Cocoa som ska trixa runt lite med filer som man släpper på appen, men jag kan inte för allt i världen hitta hur jag gör så att appen kan ta emot filer som släps på den. Har sökt som en galning efter cocoa och droplets men jag får bara fram en herrans massa AppleScript (jag vill INTE använda ApplesScript).

Vad jag har förstått så ska man lägga till "Document Types" i info.plist för de filtyper som ska fungera, men jag har ingen aning om hur jag ska skriva.

Tack på förhand!

Det är väl bra, men jag hittar ingenting om hur man drag-och-släpper på programikonen. Borde inte det vara på samma ställe? Men det verkar det stå om här:

Mac Dev Center: Cocoa Scripting Guide: How Cocoa Applications Handle Apple Events

Ursprungligen av Ingemar Ragnemalm:

Det är väl bra, men jag hittar ingenting om hur man drag-och-släpper på programikonen. Borde inte det vara på samma ställe? Men det verkar det stå om här:

Det borde det inte. Tolkade appen som applikation och ej programikon.

Ursprungligen av grobros:

Det borde det inte. Tolkade appen som applikation och ej programikon.

Det finns inget sätt att dra till "applikationen" om det inte är programikonen. Det andra är till ett fönster eller en view, specifika element, en helt annan sak.

Ursprungligen av Ingemar Ragnemalm:

"...ett fönster eller en view, specifika element, en helt annan sak."

Helt sant.

  • Medlem
  • Örebro
  • 2009-09-24 12:12

Vet inte riktigt vad ni menar med programikon, jag vill bara kunna ta tag i en fil med musen, dra den till min app och släppa. Då öppnas appen med denna fil (eller sökvägen till denna leller hur det nu fungerar) som argument.

Jag har kommit en liten bit närmre genom att lägga till DocumentTypes i min info.plist. Nu går det att släppa filer på min app men sen står det att "bla.app kan inte öppna filer av typen [filtyp]".

Vilka DocumentTypes har du lagt till då?

  • Medlem
  • Örebro
  • 2009-09-24 21:46

Detta, det ska göra så att den tar emot alla filer enligt uppgift:

<key>CFBundleDocumentTypes</key>
	<array>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>*</string>
			</array>
			<key>CFBundleTypeName</key>
			<string>NSStringPboardType</string>
			<key>CFBundleTypeOSTypes</key>
			<array>
				<string>****</string>
			</array>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
	</array>
  • Medlem
  • Örebro
  • 2009-09-25 17:41

Ah nu fick jag fart på det! Den här metoden måste implementeras i AppDelegaten:

- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename
{
return YES;
}
1
Bevaka tråden