非公开API用法:该应用包含一个或多个损坏的二进制文件 [英] Non-public API usage : The app contains one or more corrupted binaries

查看:196
本文介绍了非公开API用法:该应用包含一个或多个损坏的二进制文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我真的很沮丧iOS应用程序新版本上载的情况.这是故事.

I am really frustrate whats going on with iOS application new version uploads. Here are the story.

2018年1月25日日期,我们上传了新版本 3.3.27内部版本1.0 .该过程成功完成,可在试飞中用于测试.之后,我们发现了一些问题,并在 2018年1月26日上进行了修复并上传了新的内部版本1.1,并从iTunes Connect收到电子邮件说:

On the date of 25th Jan 2018 we have uploaded new version 3.3.27 build number 1.0. That successfully process and available on test-flight for testing. After that we found some issue and on 26th Jan 2018 we fix it and uploading new build 1.1 and we get email from iTunes Connect said:

亲爱的开发人员,

Dear developer,

我们发现您最近为"appname"递送商品时遇到一个或多个问题.要处理您的交货,必须更正以下问题:

We have discovered one or more issues with your recent delivery for "appname". To process your delivery, the following issues must be corrected:

非公开API用法:

The app contains one or more corrupted binaries. Rebuild the app and resubmit.

如果源代码中的方法名称与私有Apple API相匹配 上面列出的内容,更改您的方法名称将有助于阻止此应用 不会在以后的提交中被标记.此外,请注意 或以上的以上API可能位于一个静态库中 包含在您的应用中.如果是这样,则必须将其删除.

If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed.

如果您认为此消息发送有误,并且您只有 根据指南使用了Apple发布的API, 应用程序的9位Apple ID以及有关原因的详细信息 您认为上述API被错误地标记为 email@apple.com.有关更多信息,请访问

If you think this message was sent in error and that you have only used Apple-published APIs in accordance with the guidelines, send the app's nine-digit Apple ID, along with detailed information about why you believe the above APIs were incorrectly flagged, to email@apple.com. For further information, visit the

虽然我在上载成功之前先对其进行验证:

当我上传应用程序时,我获得了成功:

在邮件中,我没有得到正确的信息,即损坏的二进制文件或框架的名称是什么.在1月25日之前上传该应用程序的100s更新版本的非公开文件使用的方法是什么,一切都很好并且可以接受.

In mail i did not get proper information what's the name of corrupted binary or framework. What is the method we used that non-public we have uploaded 100s update build of that application before 25th Jan everything is good and acceptable.

然后我尝试进行以下更改:

  1. 重建应用程序并再次提交,将获得相同的电子邮件.
  2. 卸载Xcode9.2并再次安装会收到相同的电子邮件.
  3. 删除更改并再次上传内部版本号1.0会收到相同的电子邮件.
  4. 更换Mac,然后尝试使用同一封电子邮件再次上传新版本.
  5. 尝试上传之前和之后相同的emai的旧版本

我们向iTunes Connect Review发送了一封电子邮件,但是3天以来我们没有收到他们的任何答复.我进行了研究,从1月26日开始,许多用户在提交申请时都会遇到此类问题.

We sent an email to iTunes Connect Review but since 3 days we did not get any reply from them side. I do research and from 26th Jan many user face that kind of issue while submit application.

如果有人知道过去或最近遇到过此类问题的解决方案,请帮助我们

If any one know that solution who face that kind of issue in past or recently Please help us

推荐答案

对于此问题,没有一个解决方案Apple如今在其官方帐户或论坛或其官方开发人员上没有提及有关该错误或无效的二进制相关新闻的任何事情.地点.即使他们不是您的电子邮件回复.

There is not one solution for this issue Apple not mention anything now a days about that errors or invalid binary related news on their official account or forums or their official Developer site. Even they are not reply of your email.

一些通过BitCode enable解决的问题,一些通过更新PODFILE解决的问题,一些通过删除项目中使用的旧的swift框架解决的问题.

Some of get that issue solved by BitCode enable, Some of solve that issue for update PODFILE, Some of Solve that issue by remove some old swift framework used in project.

但是最终,我靠自己找到了对我有用的解决方案.当我构建项目时,在Xcode的左侧面板上发现了一些警告,如下所示.

But finally I get solution by my self that works for me. When i build the project i found some warning at left side panel of Xcode like following.

我认为Apple现在已删除了旧的swift支持,以防万一您的项目使用任何swift类或podfile,我们需要将其更新为swift 4.

I think apple now removed old swift support so in case your project use any swift class or podfile we need to update to swift 4.

一旦我转换为Swift 4,我会收到以下警告:

Once i conversion to swift 4 i get following warning:

不建议在Swift 4模式下使用Swift 3 @objc推论. 请解决不建议使用的@objc推断警告,测试您的代码 启用使用过时的Swift 3 @objc推断使用"日志记录,并且 然后通过更改"Swift 3 @objc Inference"构建来禁用推理 将应用名称"目标设置为默认".

The use of Swift 3 @objc inference in Swift 4 mode is deprecated. Please address deprecated @objc inference warnings, test your code with "Use of deprecated Swift 3 @objc inference" logging enabled, and then disable inference by changing the "Swift 3 @objc Inference" build setting to "Default" for the "appname" target.

为解决此警告,我使用以下链接

For fix this warning i use following link The use of Swift 3 @objc inference in Swift 4 mode is deprecated? and in swift class i used @objc before public declaration.

我还要查看所有源代码,并从项目中删除未使用的podfile和类库.

Also i review all the source code and remove unused library of podfile and class from project.

通过上述方法,我解决了该问题,并在上​​传了第13个最终被接受的版本之后.

by above way i fix that issue and after uploading 13th of build finally that accepted.

这篇关于非公开API用法:该应用包含一个或多个损坏的二进制文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆