【发布时间】:2018-08-30 19:31:24
【问题描述】:
首先,当我的应用程序加载到内存中时,我会尝试在我的应用程序中执行代码(仅来自我的 Swift 框架!)。
通常我会在我的框架加载到内存时使用这个 ObjC 方法来执行代码。
在 Swift 中有与此等价的东西吗?
static void __attribute__((constructor)) initialize(void){
NSLog(@"==== Code Injection in Action====");
/*
My Code
*/
}
我发现了什么:
Apple Developer Page regarding this(但也只在 ObjC 中解释过)
Other Page about Code Injection in general
有什么想法吗?
【问题讨论】:
-
__attribute__((constructor))s 甚至在+[NSObject initialize]之前运行,不过,@CharlesSrstka, IIRC。 -
@JoshCaswell 是的,这就是我最初回答这个问题的原因;一直在这方面来回走动。不过,从概念上讲,这是一回事。如何使用 Swift 不可用的 Objective-C 初始化钩子。
-
@JoshCaswell 啊,再想一想,你可能是对的,这在技术上不是同一个问题。我想知道我是否可以收回重复投票。
-
@CharlesSrstka,不用担心。我可以自己重新打开它,但让我先 ping Martin。
-
@MartinR:你对以上有什么想法吗?
标签: objective-c swift code-injection dylib