आपको रनटाइम पर अपने ऐप की Info.plist
फ़ाइल (या अपने ऐप के बंडल में कुछ भी) संशोधित नहीं करना चाहिए। यह खराब अभ्यास है और यदि यह कोड हस्ताक्षरित है तो भी आपके ऐप को तोड़ देगा। यह आजकल अधिक महत्वपूर्ण है क्योंकि ऐप स्टोर पर सभी ऐप्स कोड पर हस्ताक्षर किए जाने चाहिए।
एक बेहतर विकल्प एप्लिकेशन सेवा फ़ंक्शन TransformProcessType()
का उपयोग करना है ताकि आपके ऐप को पृष्ठभूमि से अग्रभूमि ऐप पर ले जाया जा सके।
पहले, में LSUIElement
कुंजी सेट को अपने ऐप्लिकेशन के Info.plist
YES
के लिए और फिर लॉन्च पर एक उपयोगकर्ता डिफ़ॉल्ट जाँच निर्धारित करने के लिए कि आपके ऐप में एक एजेंट है या नहीं के रूप में चल जाना चाहिए: सुनिश्चित करें कि आप डॉन 'बनाने
#import <ApplicationServices/ApplicationServices.h>
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)notification
{
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"LaunchAsAgentApp"])
{
ProcessSerialNumber psn = { 0, kCurrentProcess };
TransformProcessType(&psn, kProcessTransformToForegroundApplication);
SetFrontProcess(&psn);
}
}
@end
अपनी परियोजना में एप्लिकेशन सेवा ढांचे को जोड़ना न भूलें।
स्रोत
2011-08-10 00:18:37
प्लस, 'Info.plist' को बदलना अपर्याप्त विशेषाधिकारों और केवल पढ़ने योग्य वॉल्यूम (डिस्क छवियों की तरह) में भी असफल हो जाएगा। – gcbrueckmann
धन्यवाद रॉब Keniger.its मेरे लिए ठीक काम कर रहे हैं – sp309