2010-03-16 8 views
12

मैं खोज किया गया है और अब लगभग चार घंटे के लिए प्रयोग, तो मैं कर रहा हूँ वाला बस सीधे ऊपर से पूछते हैं: एक हीमैं वास्तव में प्राधिकरण सेवाओं का उपयोग कैसे करूं?

कैसे मैं सही ढंग से उपयोगकर्ता एक सिस्टम स्तर प्राधिकरण विंडो दिखाने के लिए Authorization Services एपीआई का उपयोग कर सकते हैं, जब आप सिस्टम प्राथमिकताओं में लॉक आइकन पर क्लिक करते हैं तो आप देखते हैं?

जो मैं कह सकता हूं, उससे कोको का उपयोग करने का कोई तरीका नहीं है यदि आप इसे प्रोग्रामेटिक रूप से करना चाहते हैं, और यदि आपका लक्ष्य निष्पादन योग्य को कॉल करना है जिसे आम तौर पर sudo के माध्यम से बुलाया जाना चाहिए (मेरे मामले में, /usr/bin/pmset) आप एक पैडल के बिना एक क्रीक ऊपर हैं।

मैं आपको चुनौती देता हूं, मैं आपको बताता हूं: कृपया मुझे प्रबुद्ध करें।

धन्यवाद। :)

+0

आपने दस्तावेज़ से लिंक किया है। आपको पहले प्राधिकरण बनाना होगा, लेकिन एपीआई उपयोगकर्ता को पासवर्ड और ऐसे के लिए संकेत देने का ख्याल रखता है। –

+0

हाँ, मुझे पता है। मैं इसके सिर या पूंछ नहीं बना सकता। एक कार्य कोड उदाहरण पोस्ट करने या जोड़ने की कोई संभावना है? –

उत्तर

3

जाहिर है आप वास्तविक त्रुटि से निपटने और इस तरह करना चाहिए, लेकिन यहाँ आप आरंभ करने के लिए एक उदाहरण है।

AuthorizationRef auth = NULL; 
OSStatus err; 
err = AuthorizationCreate(NULL, 
      NULL, 
      kAuthorizationFlagExtendRights|kAuthorizationFlagInteractionAllowed, 
      &auth); 
if(err != errAuthorizationSuccess) { 
    fprintf(stderr, "oops: %ld\n", (long int)err); 
    exit(-1); 
} 
char *opts[] = { "some", "parameters", "to", "pm", NULL }; 
err = AuthorizationExecuteWithPrivileges(
    auth, 
    "/usr/bin/pmset", 
    kAuthorizationFlagDefaults, 
    opts, 
    NULL); 
AuthorizationFree(auth, kAuthorizationFlagDefaults); 
if(err != errAuthorizationSuccess) { 
    fprintf(stderr, "oops: %ld\n", (long int)err); 
    exit(-1); 
} 
+0

जब मैं इन प्राधिकरण कार्यों को कॉल करता हूं तो मुझे लिंकर त्रुटियां मिल रही हैं। कोई विचार क्यों? –

+0

@RaffiKhatchadourian आपको अपनी परियोजना में उपयुक्त ढांचे को जोड़ने की जरूरत है। मेरा मानना ​​है कि ये सभी सुरक्षा ढांचे में हैं। शेर में उस ढांचे में बहुत सारे बदलाव हुए हैं, इसलिए इनमें से कुछ अभी भी उपलब्ध हो सकते हैं या नहीं भी हो सकते हैं या हो सकता है कि वे किसी अन्य ढांचे में स्थानांतरित हो जाएं। –

+0

धन्यवाद! मैं कोशिश करूँगा। कोको में किसी भी ढांचे के अतिरिक्त बिना ऑटो-पूर्णता काम करता है। –

संबंधित मुद्दे