AppStore 打包上传后提示“二进制文件无效” 的解决方法

昨天提交打包提交App,将包上传到iTunes Connect之后,以为就能发布了,便点击构建版本,发现没有刚刚上传的包,于是就点击"预发行"看一下,会看到"已上传",过不久再刷新一次再看,就变成了二进制无效,无比的郁闷,上传了五六次都是二进制文件无效。
在检查了app是否支持64位以后,我以为是传错了版本,把debug版本传上去了,排查了后发现不是。
查了很多的资料都说是使用了私有API或者是iDFA设置不对的问题,但是茫茫多的代码和引用的第三方库,鬼知道那里用到了私有API或者iDFA,一行行的查工作量也太大了。幸好找到了stackoverflow上一个问答,可以方便的检测私有api,地址。为了防止失效截个图:

Snip20171218_3.png

但是可惜,没查出来。。。

检查IDFA的方法:
步骤:
1、打开终端cd到要检查的文件的根目录。

2、执行下列语句:grep -r advertisingIdentifier . (别少了最后那个点号)。

依然没有。。。

这个时候想到去邮箱里看一下苹果发的邮件(其实应该首先去看的),看到了这个
105549utkrk6dkip4zndhh.png

不允许监听锁屏通知???

立刻去全局查询关键字:CFNotificationCenterGetDarwinNotifyCenter;screenLockStateChanged;NotificationLock;screenLockStateChanged;
一无所获。。。
但是我觉得会监听锁屏通知的应该是那些需要在后台做操作的功能,于是我先去排查了一下应用里的音频功能,然后在一个没有被引用的监听方法里发现了这个:com.apple.springboard.lockstate
因为之前的码哥废弃了这个监听,改用

applicationProtectedDataWillBecomeUnavailable:

但是原来的代码没有删除也没有注释

现在苹果不管你用没用只要你代码里有"com.apple.springboard.lockstate"关键字就判断二进制文件无效,我真的是躺枪(:зゝ∠)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 搜索了2个小时,上传了5个版本后,终于解决了。网上是这样说的: http://stackoverflow.com/...
    iHTCboy阅读 9,311评论 1 3
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,569评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,452评论 19 139
  • 两年前,我的睡眠质量特别差,身体也经常冒虚汗,心里也十分烦燥。有位朋友把AYP冥想介绍给我。这个冥想很容易,只需心...
    黎思岐阅读 1,228评论 0 0
  • 文/海城贝壳 平淡的跨年夜过去了,日历上永远告别2016年,努力去回想这一年的经历,用文字为过去的点滴日子定格,只...
    海城贝壳阅读 3,047评论 2 4