有一个名为open
的 Cydia 命令行实用程序,它将打开一个iOS应用程序,
附加到SpringBoard。
是否有相应的close
命令可以发送正确的信号
应用程序 ?它需要发送正确的信号,以便它能够完成
在终止之前必要的清理。 kill
命令不能用作
应用程序无法捕获信号。
我一直在寻找这个特殊的命令行工具的高低,但是 尚未找到它。
谢谢。
答案 0 :(得分:0)
您是否尝试过使用
killall MobileCydia
应该有效
答案 1 :(得分:0)
我不知道任何这样的命令,但你当然可以自己构建一个模拟按钮按下的命令。这应该以正常的方式关闭打开的应用程序。这不是一个异常的kill
。如果该应用支持多任务处理,它将转到后台,并且一路上都会进行所有正常的UIApplicationDelegate
回调。
构建非图形化iOS应用程序。只需从UIApplicationMain()
main.m
来电即可
将您的应用程序与GraphicsServices.framework链接。它是一个私有框架,因此在Xcode Build Phases 设置窗口中,您通常选择要链接的框架,您将无法在公共列表中看到它。在文件系统上导航到私有框架文件夹(例如/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/PrivateFrameworks
)并选择它。
您需要为GSEvent.h(可能是GSWindow.h,它包含#includes)生成标头。 Here you can find a copy of both。将它们添加到您的项目中,并#include GSEvent.h
文件中的main.m
。
使用此功能:
#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);
}
此代码应该可用作关闭当前应用程序的方法(即代码在前台的UIApplication内部运行),或另一个打开的应用程序(如构建一个应用程序的情况)命令行实用程序)。
Hattip向libActivator提出这个想法。