gpt4 book ai didi

jailbreak - iOS 如何使用 Entitlement.plist 指定我的应用程序的属性

转载 作者:行者123 更新时间:2023-12-03 08:06:17 26 4
gpt4 key购买 nike

我正在使用 Jailbreak + Appsync + iOS5.0.1 设备(没有开发人员许可证,但有一些技巧我可以在设备上运行我的应用程序)

现在我想使用私有(private) API launchApplicationWithIdentifier:suspended:。所以我需要添加

<key>com.apple.springboard.launchapplications</key>
<true/>

到 myApp.entitlements.plist 文件。然后它应该可以工作,但我仍然收到错误
'Receiver type 'UIApplication' for instance message does not declare a method 
with selector 'launchApplicationWithIdentifier:suspended:''

然后我发现有人说,如果我想使用 Entitlements.plist,必须启用代码签名。这是真的吗?我必须有开发者许可证吗?

或者有没有其他方法可以使用这种方法?我阅读了一些关于如何使用私有(private) API 的方法。似乎很难。我是 iOS 开发的新手。

谢谢你。

最佳答案

我在您的帖子中看到两个问题/问题:

1) 你得到错误

'Receiver type 'UIApplication' for instance message does not declare a method with selector 'launchApplicationWithIdentifier:suspended:''



那是编译器错误吗?听起来可能是这样。事情就是这样。在公共(public)框架集中有很多objective-c 类仍然有一些私有(private)方法。因此,在公共(public)框架的普通头文件(.h 文件)中,不会列出那些私有(private)方法。但是,它们存在于动态库中。如果你想构建一个使用这些的应用程序,那么解决问题的一种方法是找到 的副本。已满 标题。

例如, here's a copy of the full UIApplication.h header .

然后,您可以复制私有(private)方法的声明,并在您自己的代码中,像这样声明它们:

// Used to disable warning for non-public methods
@interface UIApplication (Extensions)
- (BOOL)launchApplicationWithIdentifier:(id)identifier suspended:(BOOL)suspended;
@end

这应该阻止编译器提示私有(private)方法不存在。

对于 future ,您应该阅读 class-dump ,这是一种工具,您可以在 SDK 中的公共(public)或私有(private)框架上运行,并自己反向生成上述 header 。它们会随着 SDK 的每个版本而改变,因此能够自己生成它们是件好事。

2) 您询问有关在没有代码签名的情况下使用权利的问题。

一、 read what Saurik originally wrote about it here . 是的,您确实需要对权利进行代码签名。但是, 没有 ,它不必与越狱手机上的 Apple 证书一起使用。您可以通过下载 ldid 来伪造代码符号可执行的,并且正在做

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.springboard.launchapplications</key>
<true/>
</dict>
</plist>

当心。我找到了 ldid在几个地方的互联网上。我真的不确定哪一个是正确的。我记得有一次,我试图这样做, ldid 的版本我使用的不适用于签署权利。我下载了 ldid从另一个来源,然后它工作。所以,小心。

关于jailbreak - iOS 如何使用 Entitlement.plist 指定我的应用程序的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11069330/

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