越狱开发小结
来源:互联网 发布:免费钣金放样软件 编辑:程序博客网 时间:2024/06/08 07:45
在开发iphone插件的时候发现一个奇怪的问题,如果UIAlertView在hook springboard显示的时候,
会根据现在打开的app的方向来显示方向和缩放,而不是根据springboard的方向(大概是因为springboard
的方向是不会变的)。因此,要在打开一个app的时候,在springboard中显示一个UIAlertView,就需要考
虑横屏问题(尤其是在这个UIAlertView还自己添加了界面元素的情况下),这真是个令人烦恼的问题。
分析了一下,
插件是hook的springboard的原因,
顶层的窗口是在springboard上的,随着一个app的打开顶层的窗口可能会做相应的改变,导致弹出框的方向改变。如
果换一种方法添加一个UIWindow也可以实现显示一个视图。
以显示一个HUD为例,只需要在hook的时候,声明一个静态的UIWindow,并设置你需要的这个window的层次属性,
在这个UIWindow上添加HUD就可以实现HUD的显示。不过默认情况下这个UIWindow是隐藏的,如果要显示,需要先
设置UIWindow的显示属性。在这个window显示的时候,springboard的界面被这个window接管,所以下层的各种app
的是打不开的,所以在显示结束以后,需要再把这个window的显示属性设置为关闭状态。
通过这种方法可以实现一个顶层的窗口来做插件功能中的界面展示。
得出两个解决办法:1、在显示前关闭已经打开的app,回到springboard。
2、得到当前状态下的设备方向,再自己调整。
第一个实现起来,估计跟做一个sbsetting的freeup差不多。第二个实现起来,似乎也不好办,UIDevice得到
的一直是unknow,而通过UIApplication得到的又是springboard的那个永恒不变的1。好像都陷入死胡同了。
唉,搜索资料继续研究。
研究了一下第一种实现调用
[(SpringBoard *)[UIApplication sharedApplication] _killThermallyActiveApplication];
关闭当前的app.似乎有个执行时间问题。
- 越狱开发小结
- iPad mini Retina越狱小结
- iOS越狱开发----iOS越狱原理详解
- IOS越狱开发第一步
- iOS越狱开发
- iOS越狱开发
- iOS越狱开发
- 越狱开发分享
- IOS-----越狱开发
- ios越狱开发相关
- [转载]越狱开发
- IOS-----越狱开发
- 越狱开发相关
- ios越狱开发
- iOS越狱开发
- iOS越狱开发
- 越狱开发准备工作
- 越狱开发学习笔记
- android中sqlite的按条件查找
- 【jiasuba】详细介绍菜鸟也能做的Windows7系统优化
- DEDECMS自定义字段为附件类型调用链接地址的方法
- 需要数据库么?
- ThinkPHP小结
- 越狱开发小结
- c# HttpWebRequest 抓取网页 自动编码
- jquery判断浏览器类型的代码
- 关于wait和sleep方法的区别
- debian下修改按键映射
- 自然语言处理(NLP)网上资源整理
- 如何在云服务虚拟机上安装软件、下载文件?
- Apache对域名的泛解析方法集锦
- [传智播客][4天工作流之JBPM项目实战全套(价值1000)][F]