
我想我需要在执行期间以编程方式修改应用程序的“Info.pList”,将参数“Application is agent”更改为YES / NO.
这是正确的方法吗?
附:你可以在“麻雀”中找到这种行为.
解决方法 您不应该在运行时修改应用程序的Info.pList文件(或应用程序包中的任何内容).这是不好的做法,如果代码已签名,也会破坏您的应用.现在这一点更为重要,因为应用商店中的所有应用都必须经过代码签名.更好的选择是使用Application Services函数transformProcesstype()将您的应用程序从后台移动到前台应用程序.
首先,将应用程序的Info.pList中的lsuielement键设置为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 确保您不要忘记将Application Services框架添加到项目中.
总结以上是内存溢出为你收集整理的cocoa – 修改Info.plist以在运行时设置“Application is agent(UIElement)”全部内容,希望文章能够帮你解决cocoa – 修改Info.plist以在运行时设置“Application is agent(UIElement)”所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)