Private MobileDevice.framework 不再使用 -F/System/Library/Privat



我正在使用 https://github.com/imkira/mobiledevice 的移动设备设备应用程序。

但是自从最新的Mac OSX更新10.13.02(17C88(以来,我无法再编译移动设备应用程序,因为clang抱怨找不到在/System/Library/PrivateFrameworks中搜索的私有"移动设备"框架。

$ git clone https://github.com/imkira/mobiledevice
$ cd mobiledevice 
$ make
clang ... -o mobiledevice ... -framework MobileDevice -F/System/Library/PrivateFrameworks -DMOBILEDEVICE_CLI_VERSION="2.0.0" -DMOBILEDEVICE_CLI_REVISION="8134c5e7edd97bf718490eaadb3639bda276e596" cli.m commands.m device.m get_app_prop.m get_bundle_id.m get_device_prop.m help.m install_app.m invalid_usage.m list_app_props.m list_apps.m list_device_props.m list_devices.m tunnel.m uninstall_app.m version.m
ld: framework not found MobileDevice
clang: error: linker command failed with exit code 1 (use -v to see invocation)

但我可以看到该框架仍然存在于目录/System/Library/PrivateFrameworks 中。

似乎clang正在过滤掉-F/System/Library/PrivateFrameworks开关。

任何提示如何解决问题?

接受的答案对我在大苏尔不起作用。我发现没有提供/System/Library/PrivateFrameworks,而是提供/Library/Apple/System/Library/PrivateFrameworks解决了它。

回答我自己的问题时,我发现将 MobileDevice.framework 复制到另一个位置 (.( 并将框架路径设置为该位置会使 clang 识别私有框架。所以对我来说,这是一个明确的指标,clang已经过滤掉了-F/System/Library/PrivateFrameworks开关。

$ cp -a /System/Library/PrivateFrameworks/MobileDevice.framework ./MobileDevice.framework/
$ clang .. -o mobiledevice ... -framework MobileDevice -F.

不再给出"找不到框架"错误

相关内容

最新更新