在 iOS 上加载 NSString class 失败,而 NSSet 和其他工作?

Loading NSString class on iOS fails, while NSSet and other works?

使用 ctypes,我得到了 objc_getClass 方法的句柄,然后我试图定位 NSString 但它失败了!!同时,其他类如NSSet/NSMutableArray等也很好用!

import ctypes
from ctypes import cdll

c = cdll.LoadLibrary(None)
objc_getClass = c.objc_getClass

>>> c.objc_getClass(b'NSSet')
-110110920
>>> c.objc_getClass(b'NSString')
0

这可能是因为未加载 Foundation 框架。

尝试在解决之前添加这个 类:

cdll.LoadLibrary('/System/Library/Frameworks/Foundation.framework/Foundation')