为 iPhone 模拟器创建 libsubstrate

发布于 2024-08-19 19:21:43 字数 248 浏览 5 评论 0原文

我正在 JB iPhone 上开发 mobilesubstrate 插件。我在 xcode 中为我的 iphone 创建了一个 dylib,它可以很好地为设备构建,但是当我尝试为模拟器构建它时,它给了我一个错误“_MSHOOKMESSAGE 引用来自:blah blah”。我已将所有标题放置在正确的位置。我从设备中获取了 libsubstrate,但这就是我认为的问题。设备中的 libsubstrate 不适用于模拟器。所以我的问题是如何为模拟器创建 libsubstrate?

I am working on mobilesubstrate plugins on a JB iPhone. i have created a dylib in xcode for my iphone which builds fine for Device, but when i try to build it for Simulator, it gives me an error "_MSHOOKMESSAGE reference from: blah blah". I have placed all the headers in proper locations. I got libsubstrate from device but that is i think the problem. The libsubstrate from device is not gonna work for Simulator. So my question is how to create a libsubstrate for Simulator?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

半世蒼涼 2024-08-26 19:21:43

如果您只需要使用 MSHookMes​​sageEx (它取代了 MSHookMes​​sage),您可以

#define MSHookMessageEx(class, selector, replacement, result) \
 (*(result) = method_setImplementation(class_getInstanceMethod((class), (selector)), (replacement)))

当然,Mobile Substrate 中的 MSHookMes​​sageEx 比这更复杂,但是出于测试目的,这通常就足够了。

If you simply need to use MSHookMessageEx (which superseded MSHookMessage), you can

#define MSHookMessageEx(class, selector, replacement, result) \
 (*(result) = method_setImplementation(class_getInstanceMethod((class), (selector)), (replacement)))

Of course, MSHookMessageEx in Mobile Substrate is more complex than this, but for testing purpose this is usually enough.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文