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

昨天提交打包提交App,将包上传到iTunes Connect之后,以为就能发布了,便点击构建版

本,发现没有刚刚上传的包,于是就点击"预发行"看一下,会看到"已上传",过不久再刷新一

次再看,就变成了二进制无效,无比的郁闷,上传了五六次都是二进制文件无效。在检查了

app是否支持64位以后,我以为是传错了版本,把debug版本传上去了,排查了后发现不是。查

了很多的资料都说是使用了私有API或者是iDFA设置不对的问题,但是茫茫多的代码和引用的

第三方库,鬼知道那里用到了私有API或者iDFA,一行行的查工作量也太大了。幸好找到了

stackoverflow上一个问答,可以方便的检测私有api,地址。为了防止失效截个图:
AppStore 打包上传后提示“二进制文件无效” 的解决方法_第1张图片
 Snip20171218_3.png但是可惜,没查出来。。。检查IDFA的方法:步骤:1、打开终端cd到要检查的文件的根目录。2、执行下列语句:grep -r advertisingIdentifier . (别少了最后那个点号)。依然没有。。。这个时候想到去邮箱里看一下苹果发的邮件(其实应该首先去看的),看到了这个
image.png
 不允许监听锁屏通知???立刻去全局查询关键字:CFNotificationCenterGetDarwinNotifyCenter;screenLockStateChanged;NotificationLock;screenLockStateChanged;一无所获。。。但是我觉得会监听锁屏通知的应该是那些需要在后台做操作的功能,于是我先去排查了一下应用里的音频功能,然后在一个没有被引用的监听方法里发现了这个:com.apple.springboard.lockstate因为之前的码哥废弃了这个监听,改用applicationProtectedDataWillBecomeUnavailable:但是原来的代码没有删除也没有注释现在苹果不管你用没用只要你代码里有"com.apple.springboard.lockstate"关键字就判断二进制文件无效,我真的是躺枪(:зゝ∠)! 

你可能感兴趣的:(AppStore 打包上传后提示“二进制文件无效” 的解决方法)