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

Posted

技术标签:

【中文标题】在 iOS 上加载 NSString 类失败,而 NSSet 和其他工作?【英文标题】:Loading NSString class on iOS fails, while NSSet and other works? 【发布时间】:2019-10-03 15:12:50 【问题描述】:

使用 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

【问题讨论】:

【参考方案1】:

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

在尝试解析类之前尝试添加:

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

【讨论】:

以上是关于在 iOS 上加载 NSString 类失败,而 NSSet 和其他工作?的主要内容,如果未能解决你的问题,请参考以下文章

NSURLConnection/CFURLConnection HTTP 加载失败 (kCFStreamErrorDomainSSL, -9813) iOS

AFNetworking 请求失败问题

iOS 9 WKWebView 产生“加载资源失败:已取消”,而 iOS 8 没有

iOS doublefloat 转 NSString的大坑

加载本地化 pathForResource 在 iOS 模拟器上工作,但在设备上失败

从本地路径 iOS 加载网页