繁体   English   中英

如何从iOS应用程序中删除这些受损的选择器

[英]How to remove these mangled selectors from iOS app

我需要帮助删除我的iOS应用程序中已知的错位选择器。

Apple拒绝了我的应用说明:

关于准则2.3.1,该应用程序经过验证,包含错误的选择器,如- x7kQPFEZS4af59md1eVMqf42YSTGAZVO:i5B8qlaSJwvmVviceDOQkqQ0vwGq35XMmtV81zlsmHnws

我尝试运行nm命令列出所有符号,然后使用grep搜索上面提到的选择器:

grep -r x7kQPFEZS4af59md1eVMqf42YSTGAZVO。

grep -r i5B8qlaSJwvmVviceDOQkqQ0vwGq35XMmtV81zlsmHnws。

两个grep都显示以下结果:

二进制文件./Payload/MyAppName.app/MyAppName匹配

MyAppName是二进制文件(unix可执行文件)。

如何进一步从我的iOS应用程序中删除这些受损的选择器? (或者至少找到创建此选择器的代码/框架)

我使用反汇编程序Hopper来定位具有错位选择器的库。 我按照以下步骤操作:

  1. 从Xcode项目创建.ipa文件(不确定它是否作为开发或App Store构建导出,您可能必须尝试每个)。
  2. 解压缩.ipa文件
  3. 打开Hopper应用程序,解压后将.app文件拖放到Payload文件夹中。
  4. 当被问到时,将其加载为“FAT存档”。
  5. 让应用程序完成扫描。
  6. 在左侧菜单中搜索受损的选择器名称。
  7. 选择匹配的选择器,在右侧的详细信息窗格中,我可以找到一些项目特定的类/方法名称。 我在项目中搜索了这些类和方法名称并找到了库。

删除该库后,该应用程序已获批准。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM