On 11 Aug 2014, at 16:05, Bavarious <[email protected]> wrote:

> 
>> On 11 Aug 2014, at 05:53, Gerriet M. Denkmann <[email protected]> wrote:
>> 
>> 
>> On 11 Aug 2014, at 15:43, Bavarious <[email protected]> wrote:
>> 
>>> On 11 Aug 2014, at 05:35, Gerriet M. Denkmann <[email protected]> wrote:
>>>> 
>>>> I am trying to convert:
>>>>    NSString * helperName = @"de.mdenkmann.Xpc-Exchange”;
>>>>    CFDictionaryRef diref = SMJobCopyDictionary( kSMDomainSystemLaunchd, 
>>>> (__bridge CFStringRef)helperName );
>>>>    NSDictionary *jobDict = (NSDictionary *)CFBridgingRelease(diref);
>>>>    if ( jobDict == nil ) need to start the helper
>>>> 
>>>> to Swift:
>>>>    let name = xpcServiceName!      
>>>>    let diref = SMJobCopyDictionary( kSMDomainSystemLaunchd, name )
>>>> but get an error for name: "'NSString' is not a subtype of 'CFString'"
>>>> 
>>>>    let cref = CFString(name) → error:  'CFString' cannot be constructed 
>>>> because it has no accessible initializers
>>>> 
>>>> How to get a CFString?
>>> 
>>> 
>>> 
>>> let cfname = name as CFString
>>> 
>>> should work.
>> 
>> You are right: it should work.
>> But
>>      let cref = name as CFString
>> again created the error: 'NSString' is not a subtype of 'CFString'
>> 
>> Xcode 6 beta 5
> 
> What is the type of xpcServiceName? If it’s a Swift string, you need to go 
> through NSString first. If it’s an NSString, just as CFString should work.
> 
> I get no compiler errors with this code:
> 
> import Foundation
> 
> let s = "string"
> let nss = s as NSString
> let cfs1 = s as NSString as CFString
> let cfs2 = nss as CFString

let name1 = xpcServiceName!
let name2 = name1 as NSString
let name3 = name2 as CFString
let diref = SMJobCopyDictionary( kSMDomainSystemLaunchd, name3 )
let jobDictionary = diref.takeRetainedValue()   <--- I hope this is right
if jobDictionary == nil 
{ 
        println("Helper not running") 
}
else
{
        println("Helper JobCopyDictionary = \(jobDictionary)")  
}

This works perfectly.
Thank you very much!

Kind regards,

Gerriet.


_______________________________________________

Cocoa-dev mailing list ([email protected])

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 [email protected]

Reply via email to