如何从 iOS 应用程序中删除这些损坏的选择器
How to remove these mangled selectors from iOS app
我需要帮助删除我的 iOS 应用程序中已知的错误选择器。
Apple 拒绝了我的应用,声明:
Regarding Guideline 2.3.1, this app is verified to contain mangled selectors such as - x7kQPFEZS4af59md1eVMqf42YSTGAZVO:
and i5B8qlaSJwvmVviceDOQkqQ0vwGq35XMmtV81zlsmHnws
.
我尝试了 运行 nm 命令列出所有符号,然后使用 grep 搜索上述选择器:
grep -r x7kQPFEZS4af59md1eVMqf42YSTGAZVO .
grep -r i5B8qlaSJwvmVviceDOQkqQ0vwGq35XMmtV81zlsmHnws .
两个 grep 显示如下结果:
Binary file ./Payload/MyAppName.app/MyAppName matches
MyAppName 是一个二进制文件(unix 可执行文件)。
如何进一步从我的 iOS 应用程序中删除这些损坏的选择器? (或至少找到创建此选择器的代码/框架)
我使用反汇编程序 Hopper 找到了一个包含损坏的选择器的库。我遵循了这些步骤:
- 从 Xcode 项目创建 .ipa 文件(不确定它是作为开发还是 App Store 构建导出,您可能需要分别尝试)。
- 解压缩 .ipa 文件
- 打开Hopper应用程序,解压后将.app文件拖放到Payload文件夹中。
- 询问时将其加载为 'FAT archive'。
- 让应用程序完成扫描。
- 在左侧菜单中搜索错误的选择器名称。
- Select 匹配的选择器,在右侧的详细信息窗格中,我可以找到一些特定于项目的 class / 方法名称。我在我的项目中搜索了这些 Class 和方法名称并找到了库。
在我删除该库后应用程序获得批准。
我需要帮助删除我的 iOS 应用程序中已知的错误选择器。
Apple 拒绝了我的应用,声明:
Regarding Guideline 2.3.1, this app is verified to contain mangled selectors such as
- x7kQPFEZS4af59md1eVMqf42YSTGAZVO:
andi5B8qlaSJwvmVviceDOQkqQ0vwGq35XMmtV81zlsmHnws
.
我尝试了 运行 nm 命令列出所有符号,然后使用 grep 搜索上述选择器:
grep -r x7kQPFEZS4af59md1eVMqf42YSTGAZVO .
grep -r i5B8qlaSJwvmVviceDOQkqQ0vwGq35XMmtV81zlsmHnws .
两个 grep 显示如下结果:
Binary file ./Payload/MyAppName.app/MyAppName matches
MyAppName 是一个二进制文件(unix 可执行文件)。
如何进一步从我的 iOS 应用程序中删除这些损坏的选择器? (或至少找到创建此选择器的代码/框架)
我使用反汇编程序 Hopper 找到了一个包含损坏的选择器的库。我遵循了这些步骤:
- 从 Xcode 项目创建 .ipa 文件(不确定它是作为开发还是 App Store 构建导出,您可能需要分别尝试)。
- 解压缩 .ipa 文件
- 打开Hopper应用程序,解压后将.app文件拖放到Payload文件夹中。
- 询问时将其加载为 'FAT archive'。
- 让应用程序完成扫描。
- 在左侧菜单中搜索错误的选择器名称。
- Select 匹配的选择器,在右侧的详细信息窗格中,我可以找到一些特定于项目的 class / 方法名称。我在我的项目中搜索了这些 Class 和方法名称并找到了库。
在我删除该库后应用程序获得批准。