一些背景
iOS操作系统具有"权利"概念.一般来说,它是授予应用程序的权限.其他系统服务和应用程序可以检查此权限以允许/拒绝执行某些功能.
应在配置文件中指定这些权利.
系统应用程序具有许多不同的权利.
用户应用程序仅限于几个权利(例如访问iCloud或类似可在开发人员门户上配置的权限).
问题是:是否有人知道如何为NON越狱设备添加用户应用程序的权利?
总体思路是为开发的应用添加权利,以获得更多使用系统服务的权限.
备注和免责声明
我知道如何为越狱手机做这件事.但是,它不适用于非越狱设备.
我知道Apple会拒绝它.它不会去AppStore.
解决方案不一定是编译时解决方案(意思是修改文件的方法).它可能是一个运行时解决方案 - 一个应用程序向自己或第三方应用程序添加某种方式的权利.
有没有办法以编程方式关闭iOS中的显示?不只是降低亮度,而是关闭电话应用程序的方式.我很乐意使用私有API,因为这是供个人使用.
谢谢!
我需要运行以下代码来关闭我的iPhone屏幕.
在iOS6上:
void (*BKSDisplayServicesSetScreenBlanked)(BOOL blanked) = (void (*)(BOOL blanked))dlsym(RTLD_DEFAULT, "BKSDisplayServicesSetScreenBlanked");
Run Code Online (Sandbox Code Playgroud)
然后使用:
BKSDisplayServicesSetScreenBlanked(1); // 1 to dim, 0 to undim
Run Code Online (Sandbox Code Playgroud)
它不起作用.有人告诉我,我需要com.apple.backboard.client权利才能在我的iphone上运行.我不知道如何设置这些权利.我已经看到了几种设置权利的方法,但它们对我来说非常困惑,就像这一样.
是的,您需要对权利进行编码签名.但是,不,它不必与越狱手机上的Apple证书.您可以通过下载ldid可执行文件伪造代码签名,然后执行
Run Code Online (Sandbox Code Playgroud)cd MyAppName.app ldid -Sentitlements.xml MyAppName假设您的应用程序名为MyAppName,并且您创建了权利文件entitlements.xml.我相信这个权利文件对你有用,如果你伪造用ldid代码签名的话.
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0">
<dict>
<key>com.apple.backboard.client</key>
<true/>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
即使使用上述方法,我在哪里放置上述权利文件?