使用Xcode 7.3/iOS 9.3 Apple从iOS SDK中删除了所有私有框架.出于研究目的(不是App Store!),我需要使用私有框架(即BluetoothManager.framework,这也是任何其他私有框架的问题).
因为这些框架不再在iOS SDK中提供,所以如果我的项目尝试显式链接到此框架,则会出现构建(链接器)错误.
对于长期(呃) - 期限解决方案的任何想法?
我需要运行以下代码来关闭我的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)
即使使用上述方法,我在哪里放置上述权利文件?