• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung

Problem beim Entwickeln von Services

wurzer

Cox Orange
Registriert
03.02.08
Beiträge
98
Ich habe angefangene einen Service für OS X zu entwickeln. Jedoch bekomme ich immer wieder einen Fehler. Deshalb habe ich ein einfaches Projekt „ServiceTest" gestartet, um alleine die Services-APi zu testen.

Ich bekommen jedoch immer den Fehler:

Code:
03.06.10 15:26:22	ServiceTest[3430]	Cannot find service provider for selector performService:userData:error: or performService:: for service performService

Wer kann mir einen Tipp geben, woran es liegt? Das sehr einfache Test-Projekt habe ich hochgeladen. Ich habe heute den ganzen Tag verschiedene Varianten probiert. Um einen Service zu testen, ist es am einfachsten, ihn über das Terminal-Programm zu starten:

Code:
/System/Library/CoreServices/pbs

Ein Tutorial gibt es bei Apple. An dieser Vorlage habe ich mich orientiert.

Die Code-Snippets sind in der AppDelegate-Klasse;

Code:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
	// Insert code here to initialize your application 
	Service *service;
	service = [[Service alloc] init];
	[NSApp setServicesProvider:service];
}

In der Service-Klasse:

Code:
-(void)performService:(NSPasteboard *)pboard userdata:(NSString *)userdata error:(NSString **)error {
	NSLog(@"Service method sucessfully called");
}

in in der info.plist:

Code:
	<key>NSServices</key>
	<array>
		<dict>
			<key>NSMessage</key>
			<string>performService</string>
			<key>NSPortName</key>
			<string>ServiceTest</string>
			<key>NSMenuItem</key>
			<dict>
				<key>default</key>
				<string>Do anything</string>
			</dict>
		</dict>
	</array>

Besten Dank für Eure Hilfe und Ideen.
 

Anhänge

  • ServiceTest.zip
    27,5 KB · Aufrufe: 27
Zuletzt bearbeitet: