- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我了解 Apple 不支持在 iPhone 应用程序中使用动态库。但是我们正在开发内部应用程序,并且我们有使用动态库的独特要求。我们的要求是加载动态库作为“iPhone”应用程序启动的一部分。我读到 DYLD_INSERT_LIBRARIES 就是为了这个目的。所以我编辑了 Info.plist 并添加了下面的条目。 LS环境 DYLD_INSERT_LIBRARIES @executable_path/sample.dylib
但是好像没有效果。你能告诉我你的想法吗?非常感谢您在这方面的帮助。
谢谢--尼奥
最佳答案
我找到了一种使用 optool
将 LC_LOAD_DYLIB
加载命令成功添加到 MachO 二进制文件的方法.
$ optool install -c load -p "@executable_path/<dylib_path>" -t <executable>
$ otool -L <executable>
构建 optool
时,确保build设置 OTHER_LDFLAGS
包括 -ObjC
。
optool
似乎无法为 arm64
架构成功添加加载命令,因此您可能需要从二进制文件中删除 arm64
$ lipo <input_file> -remove arm64 -output <output_file>
编辑:
有一个开放的pull request支持 arm64。
关于iphone - DYLD_INSERT_LIBRARIES 和 iPhone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7910694/
我了解 Apple 不支持在 iPhone 应用程序中使用动态库。但是我们正在开发内部应用程序,并且我们有使用动态库的独特要求。我们的要求是加载动态库作为“iPhone”应用程序启动的一部分。我读到
对于我的应用程序,我使用 DYLD_INSERT_LIBRARIES 来切换库。我正在运行 Mac OS X,El Capitan。 如果我在我的 shell 中设置这些环境变量: export PY
我创建一个 .dylib 文件并编译它: #define _GNU_SOURCE #include #include static void* (*real_malloc)(size_t); vo
我注意到,如果应用程序与权利进行了联合签名,则 DYLD_INSERT_LIBRARIES 在 Mountion Lion 中不再有效。例如: DYLD_INSERT_LIBRARIES=./myli
在 macOS 10.12.6 上,我有一个共享库和一个可执行文件(都是自己构建的,SIP 不应应用 AFAIK),我想为可执行文件预加载库。它失败,返回码为 1,否则无提示: $ ./bar/exe
我是一名优秀的程序员,十分优秀!