I tried to refer 'AppSandboxLoginItemXPCDemo' sample from apple: https://developer.apple.com/library/mac/samplecode/AppSandboxLoginItemXPCDemo/Introduction/Intro.html#//apple_ref/doc/uid/DTS40012292-Intro-DontLinkElementID_2"]AppSandboxLoginItemXPCDemo
When I tried to run it on XCode 6, it displayed error message - 'No signing identity found'. Since I don't have registered mac developer account, in build settings for - iDecide and iDecideHelper I changed 'Code Signing Identity' as 'Don't Code Sign'. I got a warning for each of the targets: 'Code Sign warning: CODE_SIGN_ENTITLEMENTS specified without specifying CODE_SIGN_IDENTITY. It is not possible to add entitlements to a binary without signing it.' This time when I compiled the build, it worked as expected. Now I tried to follow the steps specified in its ReadMe.txt file, specifically I performed these steps in my sample app: Step 1: Updated - Main App Target -> Capabilities Tab a. Turned on 'App Sandbox' b. Turned on 'App Groups' c. Added an app group - 'XYZ' Step 2: Updated - Helper Target -> Capabilities Tab a. Turned on 'App Sandbox' b. Enabled 'Outgoing Connections (Client)' c. Turned on 'App Groups' d. Added an app group - 'XYZ' Step 3: Updated - Helper Target -> General Tab -> Bundle Identifier, added 'XYZ' prefix to it. On running the app in console it displayed these messages: 10/12/14 6:27:42.159 PM xpcd[554]: (null): Code identity[pid: 11875::Devarshi-Kulshreshtha.XPCShootOut (/Users/devarshi/Library/Developer/Xcode/DerivedData/XPCShootOut-aaedwraccpinnndivoaqkujcmhmj/Build/Products/Debug/XPCShootOut.app)] is not in ACL for container: ~/Library/Containers/Devarshi-Kulshreshtha.XPCShootOut/Data -- allowing access. 10/12/14 6:27:43.712 PM appleeventsd[63]: <rdar://problem/11489077> A sandboxed application with pid 11875, "XPCShootOut" checked in with appleeventsd, but its code signature could not be validated ( either because it was corrupt, or could not be read by appleeventsd ) and so it cannot receive AppleEvents targeted by name, bundle id, or signature. Error=ERROR: #100013 { "NSDescription"="SecCodeCopySigningInformation() returned 100013, -." } (handleMessage()/appleEventsD.cp #2072) client-reqs-q Neither app performed its intended function nor it displayed the log message added in 'listener:shouldAcceptNewConnection:' delegate. I am clueless. Kindly suggest if I am missing any thing? Is it possible to get XPC service sample app working without a registered mac developer account? On Fri, Oct 10, 2014 at 11:23 AM, Devarshi Kulshreshtha <devarshi.bluec...@gmail.com> wrote: > I am trying a simple sample app on XPCServices, in which I am > following below steps: > > Step 1: Created a sample project and added target - XPCServices with > name - HelperProcess to it. When the target is created XCode > automatically generates below files: > > 1. HelperProcessProtocol.h > 2. HelperProcess.h > 3. HelperProcess.m > 4. main.m > > Step 2: In main.m added a log statement within implementation of > ServiceDelegate: > > - (BOOL)listener:(NSXPCListener *)listener > shouldAcceptNewConnection:(NSXPCConnection *)newConnection { > // This method is where the NSXPCListener configures, accepts, > and resumes a new incoming NSXPCConnection. > NSLog(@"Log which is never displayed :("); > // Configure the connection. > // First, set the interface that the exported object implements. > newConnection.exportedInterface = [NSXPCInterface > interfaceWithProtocol:@protocol(HelperProcessProtocol)]; > > // Next, set the object that the connection exports. All > messages sent on the connection to this service will be sent to the > exported object to handle. The connection retains the exported object. > HelperProcess *exportedObject = [HelperProcess new]; > newConnection.exportedObject = exportedObject; > > // Resuming the connection allows the system to deliver more > incoming messages. > [newConnection resume]; > > // Returning YES from this method tells the system that you > have accepted this connection. If you want to reject the connection > for some reason, call -invalidate on the connection and return NO. > return YES; > } > > Step 3: In AppDelegate added below code in applicationDidFinishLaunching: > > - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { > // Insert code here to initialize your application > > _connectionToService = [[NSXPCConnection alloc] > initWithServiceName:@"HelperProcess"]; > _connectionToService.remoteObjectInterface = [NSXPCInterface > interfaceWithProtocol:@protocol(HelperProcessProtocol)]; > [_connectionToService resume]; > } > > Problem is - > > When I launch the app, neither the log added in > listener:shouldAcceptNewConnection: is displayed nor the helper > process appears in Activity Monitor :( > > Here is the code: https://github.com/Daemon-Devarshi/XPCShootOut > > Note: I am trying this on XCode 6.0 > > Is there any additional setup which I need to do to make it working? > Please suggest. > > -- > Thanks, > Devarshi -- Thanks, Devarshi _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com