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

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

作者: SuperZico | 来源:发表于2017-12-18 11:25 被阅读319次

    昨天提交打包提交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"关键字就判断二进制文件无效,我真的是躺枪(:зゝ∠)

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/bkipwxtx.html