我想用跳板的服务框架,利用下面的代码。
SBSLaunchApplicationWithIdentifier(CFSTR("com.apple.preferences"), false);
但是当我下载的头文件,并在我的项目中使用它,它不会建。 请让我知道如何使这项工作。
我想用跳板的服务框架,利用下面的代码。
SBSLaunchApplicationWithIdentifier(CFSTR("com.apple.preferences"), false);
但是当我下载的头文件,并在我的项目中使用它,它不会建。 请让我知道如何使这项工作。
究竟是什么,你打算使用这种方法呢? 我的印象是用于启动从后台的应用程序下?
还有其他的方法来很容易地启动应用程序。 最可靠的,我发现是使用显示堆栈正确启动应用程序。 启动应用程序的其它方法往往当你关闭它,并试图重振造成的问题和崩溃。
使用THEOS,你可以这样做:
NSMutableArray *displayStacks = nil;
// Display stack names
#define SBWPreActivateDisplayStack [displayStacks objectAtIndex:0]
#define SBWActiveDisplayStack [displayStacks objectAtIndex:1]
#define SBWSuspendingDisplayStack [displayStacks objectAtIndex:2]
#define SBWSuspendedEventOnlyDisplayStack [displayStacks objectAtIndex:3]
// Hook SBDisplayStack to get access to the stacks
%hook SBDisplayStack
-(id)init
{
%log;
if ((self = %orig))
{
NSLog(@"FBAuth: addDisplayStack");
[displayStacks addObject:self];
}
return self;
}
-(void)dealloc
{
[displayStacks removeObject:self];
%orig;
}
%end
然后启动应用程序,这样做:
id PreferencesApp = [[objc_getClass("SBApplicationController") sharedInstance] applicationWithDisplayIdentifier:@"com.apple.preferences"];
[SBWActiveDisplayStack pushDisplay:PreferencesApp];
不过,如果你真的想用这个方法,你需要指定哪些错误是从建筑停止,并检查你使用的是带有建立它这头文件。 您还需要对SBS框架进行链接。