"应用程序引用Payload中的非公共选择器"

时间:2014-08-08 01:23:08

标签: ios app-store iphone-privateapi

enter image description here

我发现有两个问题可以解决这个问题:

(1)一个问题建议对二进制文件执行“otool -tv | grep CFUserNotification”。当然我为_deviceInfoForKey更改了CFUserNotification。我明白了:

Binary file Lexly.app/Lexly matches

(2)另一个问题建议对二进制文件执行otool -L Lexly.app/Lexly。我得到了一个列表,列出了我为每个架构重复的所有框架。

这如何帮助我找到使用3个违规选择器的外部库?

1 个答案:

答案 0 :(得分:1)

我找到了this blog post,除其他外,它解释了如何在项目的根目录中创建一个shell脚本来查找有问题的选择器。

这是脚本:

#!/bin/bash
for match in $(grep -lR uniqueIdentifier *); do
    printf "File: %s\n****************************************\n\n" "$match"
    strings $match | grep --context=15 uniqueIdentifier
    printf "\n\n\n"
done

只需将uniqueIdentifier替换为您需要找到的任何选择器。

原来所有三个选择器都来自我几个月前提到的beta分析库,甚至没有使用过。这是我复活的旧项目。