gpt4 book ai didi

ios - 如何更改我的 iOS 应用程序的权利?

转载 作者:技术小花猫 更新时间:2023-10-29 10:16:22 26 4
gpt4 key购买 nike

我需要运行以下代码来关闭我的 iPhone 屏幕。

在 iOS6 上:

void (*BKSDisplayServicesSetScreenBlanked)(BOOL blanked) = (void (*)(BOOL blanked))dlsym(RTLD_DEFAULT, "BKSDisplayServicesSetScreenBlanked");

然后使用:

BKSDisplayServicesSetScreenBlanked(1); // 1 to dim, 0 to undim

它不起作用。有人告诉我,我需要 com.apple.backboard.client 权利才能在我的 iphone 上运行。我不知道如何设置这些权利。我见过几种设置权利的方法,但它们让我很困惑,比如这个。

Yes, you do need to code sign the entitlements. But, no, it doesn't have to be with an Apple certificate on jailbroken phones. You can fake code sign, by downloading the ldid executable, and doing

cd MyAppName.app 
ldid -Sentitlements.xml MyAppName

assuming your app is named MyAppName and you made the entitlements file entitlements.xml. I believe that this entitlements file would work for you, if you fake code-signed it with 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>

即使使用上述方法,我应该将上述权利文件放在哪里?

最佳答案

对于越狱应用程序/授权,您需要执行以下操作。首先,创建一个名为 entitlements.xml(或任何您喜欢的名称)的文件:

<!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>

如果需要,您可以添加更多 权利。此示例文件仅授予应用 com.apple.backboard.client 权利。

将此文件放在哪里并不重要。关键是:

  1. 您需要修改 Xcode 的 SDKSettings.plist 文件,as shown here . CODE_SIGNING_REQUIRED 应设置为 NO
  2. 不要在 Xcode 中对您的应用进行代码签名。在build设置中,确保代码签名身份设置为不代码签名
  3. 在为 iOS 设备(不是模拟器!)构建您的应用程序之后,然后转到 Mac 上输出文件所在的目录。对于名为 HelloWorld 的应用,您要查找 HelloWorld.app 文件夹。它可能因您的配置而异,所以我不会费心告诉您它在哪里。如有疑问,请使用命令行 find 命令。
  4. this location下载预先构建的ldid ,或作为 source from here .
  5. 将 entitlements.xml 文件复制到 HelloWorld.app 所在的同一目录中。 (注意:您不必必须将它放在这里...如果您将它放在其他地方,只需调整我在下面向您展示的命令行即可)。
  6. 将目录更改为您的 entitlements.xml 文件所在的目录。
  7. Fake code-sign with this command :
$ldid -Sentitlements.xml HelloWorld.app/HelloWorld

在那之后,您需要传输整个 HelloWorld.app 文件夹才能在您的设备上安装该应用程序。有很多方法可以做到这一点,听起来您已经有了办法。

我用脚本设置了整个过程,以使其更容易。

注意:我没有说明此权利是否是用于 iOS 6 上的 BKSDisplayServicesSetScreenBlanked() 调用的正确权利。我还没有测试过.我知道这项权利允许您在较低的 iOS 版本上使用 SBDimScreen()。但是,这个答案只是描述如何为越狱应用程序添加这种权利。

关于ios - 如何更改我的 iOS 应用程序的权利?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14871748/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com