我知道这可能是不可能的,但是cocoapods是否有留下的足迹可以指出(在运行时)是否使用cocoapods安装了库?

我现在可以通过获取类名称列表,然后查找带有PodsDummy_Pods_前缀的类来找出是否使用了CocoaPods。但是我无法知道是否使用CocoaPods链接了给定的库。

编辑

澄清一下:我可以访问库源代码,但是无法控制最终项目。该库以二进制(静态库)的形式分发,我们想知道用户是否使用CocoaPods安装了该库。

最佳答案

我想这主要取决于您是否拥有对该库的控制权。

如果您不这样做,那不是真的。这些PodsDummy-类存在于目标级别,因此它们仅表明已使用CocoaPods。但是,它不会告诉您特定的库是否使用了CocoaPods。

对于源代码库,CocoaPods可以添加其他构建标志,这些标志可以公开其他API或字符串,您可以用相同的方式进行查找。已经添加了"COCOAPODS"构建标记,因此可以使用它。

对于二进制库,这是可能的,但有点棘手。理论上:您可以在运行时中发现的lib/framework中添加一个符号,然后在Podspec的prepare_command中将其删除。我不知道该执行什么命令,但是arstriplipo可能不知道。

关于ios - 如何判断(在运行时)是否使用cocoapods链接了库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44027478/

10-10 21:06
查看更多