【问题标题】:"The app references non-public selectors in Payload"“应用程序引用了 Payload 中的非公共选择器”
【发布时间】:2014-10-01 09:59:42
【问题描述】:

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

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

Binary file Lexly.app/Lexly matches

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

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

【问题讨论】:

    标签: ios app-store iphone-privateapi


    【解决方案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 替换为您需要找到的任何选择器。

    原来所有这三个选择器都来自我几个月前包含的一个测试版分析库,甚至没有使用。这是我复活的一个旧项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 2023-03-20
      • 2022-09-29
      • 2022-11-10
      • 1970-01-01
      • 2013-10-10
      相关资源
      最近更新 更多