iOS – Cydia打开命令及其对应?
有一个叫做open
的Cydia命令行实用程序,它将打开一个iOS应用程序并连接到SpringBoard。
是否有相应的close
命令将正确的信号发送到应用程序? 它需要发送正确的信号,以便在终止之前进行必要的清理。 kill
命令不能被使用,因为应用程序不能捕获信号。
我一直在寻找这个特定的命令行工具的高和低,但还没有find它。
谢谢。
你有没有尝试过使用
killall MobileCydia
应该pipe用
我不知道任何这样的命令,但你可以自己build立一个模拟主页button。 这应该以正常的方式closures打开的应用程序。 这不是一个不正常的kill
。 如果应用程序支持多任务处理,那么它将转到后台,并且一直处于正常的UIApplicationDelegate
callback状态。
-
构build一个非graphics的iOS应用程序。 只要将
UIApplicationMain()
调出main.m
-
将您的应用程序与GraphicsServices.framework链接起来。 这是一个私人框架,所以在Xcode Build Phases设置窗口中,通常select要链接的框架,您不会在公共列表中看到它。 在文件系统上导航到Private Frameworks文件夹(例如
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/PrivateFrameworks
)并select它。 -
你需要为GSEvent.h(可能包括GSWindow.h)生成头文件。 在这里你可以find两者的副本 。 将它们添加到您的项目中,并在您的
main.m
文件中#include GSEvent.h
。 -
使用这个function:
#include "GSEvent.h" - (void)simulateHomeButton { struct GSEventRecord record; memset(&record, 0, sizeof(record)); record.type = kGSEventMenuButtonDown; record.timestamp = GSCurrentEventTimestamp(); GSSendSystemEvent(&record); record.type = kGSEventMenuButtonUp; GSSendSystemEvent(&record); }
这段代码应该可以用作closures当前应用程序的方法(即代码在前台的UIApplication中运行)或另一个打开的应用程序(就像构build命令行实用程序一样)。
Hattip到libActivator的想法。