gpt4 book ai didi

ios - ios 应用程序在运行时在哪里找到 Apple 提供的与其链接的 dylib?

转载 作者:行者123 更新时间:2023-11-29 04:51:32 24 4
gpt4 key购买 nike

我试图弄清楚在 iOS 上运行的应用程序会发生什么情况。我可以在/Developer/Platforms/iPhoneOS.platform 下看到有几个 dylibs 可能在使用某些框架时链接?无论如何,我的问题是普遍性的:如果出于某种原因,iOS 应用程序的构建依赖于官方(即 Apple 提供的)dylib,那么在 iDevice 上运行时运行时会发生什么?

  1. dylib 与应用程序捆绑在一起
  2. dylib 已在设备上,运行时链接器将使用在设备上找到的内容解决依赖关系。

我认为 2) 应该发生,但我不确定,也找不到任何地方明确说明这一点。

最佳答案

是的,你说得对,2) 库是动态链接的。您可以使用 otool 进行调查,例如:

$ cd /path/to/App.app
$ lipo -info appbinary
Non-fat file: appbinary is architecture: armv7
$ otool -L appbinary
appbinary:
/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 675.0.0)
/System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 881.0.0)
/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 1600.0.0)
/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics (compatibility version 64.0.0, current version 600.0.0)
/System/Library/Frameworks/QuartzCore.framework/QuartzCore (compatibility version 1.2.0, current version 1.7.0)
/System/Library/Frameworks/OpenGLES.framework/OpenGLES (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/OpenAL.framework/OpenAL (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration (compatibility version 1.0.0, current version 432.0.0)
/System/Library/Frameworks/CFNetwork.framework/CFNetwork (compatibility version 1.0.0, current version 548.0.3)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 53.4.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 161.1.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 6.0.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)

关于ios - ios 应用程序在运行时在哪里找到 Apple 提供的与其链接的 dylib?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8742321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com