Ile*_*ruz 7 macos cocoa frameworks objective-c
我被问到一个问题,当你的设备意外删除框架时会发生什么情况可能是iphone或mac?
您的应用程序崩溃或它是否可以正常运行?
请给我解释说明.
您可能会收到链接错误。如果框架文件夹位于应用程序内部,则意味着其运行时链接。
OS X 在每个动态库中嵌入一个“安装名称”。此安装名称是 dyld 需要加载库时可以找到该库的路径。当您构建链接动态库的应用程序时,此安装名称将复制到应用程序二进制文件中。当应用程序运行时,复制的安装名称将用于定位库或框架。
$ otool -D /Applications/Google\ Drive.app/Contents/Frameworks/Python.framework/Versions/2.6/Python
/Applications/Google Drive.app/Contents/Frameworks/Python.framework/Versions/2.6/Python:
@executable_path/../Frameworks/Python.framework/Versions/2.6/Python
Run Code Online (Sandbox Code Playgroud)
因此,如果您删除 Frameworks 文件夹,您将收到 Dyld 错误。
Dyld Error Message:
Library not loaded: @loader_path/../Frameworks/Sparkle.framework/Versions/A/Sparkle
Referenced from: /Applications/Transmission.app/Contents/MacOS/Transmission
Reason: image not found
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
299 次 |
| 最近记录: |