您的位置:首页 > 移动开发 > IOS开发

iOS开发者提交应用接收到邮件Too many symbol files - These symbols have no corresponding slice in any binary

2017-03-30 16:58 4215 查看
转自:http://stackoverflow.com/questions/25755240/too-many-symbol-files-after-successfully-submitting-my-apps







最多投票53向下投票最喜爱的
24

我下载了Xcode 6 GM,并将两个Swift应用程序提交到应用商店。两者都通过了所有上传前验证以及他们通过的所有其他内容,并且已成功提交。但是后来我收到了两封来自苹果的电子邮件,每封电子邮件一封,他们都说:

Dear developer,

We have discovered one or more issues with your recent delivery for "xxxxxxxx" (my app name removed). Your delivery was successful, but you may wish to correct the following issues in your next delivery:

Too many symbol files - These symbols have no corresponding slice in any binary [1431D977-72BC-308F-AB71-71529F25400B.symbols, 158C72A7-98AC-3F07-B2BE-88427591B413.symbols, 44973EAC-563E-340C-B549-55A5014A68BA.symbols, 678BF06F-0C3D-3A09-BFBF-699C7079FECD.symbols,
90907DDB-0400-38ED-BB5F-0C12333C0624.symbols, 93B79949-5757-374A-97B9-825AE1A61B7D.symbols, ABA05220-4FB0-397F-AFBB-08774A82F4CA.symbols, AD70F02A-4422-32B8-8C40-CF9B45A2CCC6.symbols, B0CC9F7D-C542-3E18-A518-B28B7ECABE80.symbols, BF6A4C3B-6FA5-3C51-8404-19C2F132458D.symbols,
C9D6E078-8E2A-39D9-8DEE-476916A69CEE.symbols, CF5320DF-AB31-3845-BAD5-F6E51045D396.symbols, D4967AA3-8FB0-3712-B0DE-7F4144AF8F4B.symbols, D813B314-AD37-31D4-B675-442052994495.symbols, DF42A13F-08D8-3E71-B221-FC357E0B60F5.symbols, F5F636C2-F0E0-3CA7-8F7D-C49A36CD5C65.symbols]

After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to iTunes Connect.

Regards,

The App Store team

我会猜测,这与我或我的应用程序无关...这只是一天Swift应用程序提交的一个怪癖?这两个应用程序仍然处于“等待批准”模式。我当然不能想到任何可以改变的东西,使他们说的话消失!还有人提交Swift应用程序,并得到答复?想想我应该忽略它,等待看看会发生什么?

ios xcode
分享改善这个问题
编辑于9月10日14时15分50分





BoltClock 
412k1049821084

9月9日14时23分50分 问





吉姆·巴伯
29937

 
 
我遇到了同样的情况。我只是想看看会发生什么,我不知道问题是什么或如何解决,但电子邮件让我相信一切都会好起来的。 -  Joey Sep
10 '14 at 4:41
 
我刚刚遇到同样的问题。 -  Oguz
Bilgic Sep
10 '14 at 4:57
 
这可能是对未使用变量的一种检查?似乎编译器不再抱怨未使用的变量了。 -  ndnguru 九月10
'14在6:09
 
我很高兴听到我并不孤单!我会让它骑,看看会发生什么。当我知道结果时,我会再发帖。谢谢! -  吉姆·巴伯 9月10日14日14时21分 
1 
同样的问题在这里。提交审查无论如何..让我们看看发生什么:) -  dandoen 9月15日14日19:27
再发7条评论


2答案

活跃最古老的选票

投票14票
对我来说,一切都很简单。我有同样的问题,不知道该怎么办一个星期。

提交申请后,您将在小型弹出窗口中看到分发证书。之后有一个复选框,你应该取消选中它。之后,您将提交它并获取有关符号文件的电子邮件。但这不是问题。这只是警告但不是错误!如果您取消选中该复选框,您的应用将被发送正确。我希望它可能有帮助

复选框和弹出窗口的屏幕快照:



分享改善这个答案
编辑于2月8日14时56分





社区
11

9月13日14日10:29 回复





放大
312326

 
 
我真的希望你会更详细....我不知道你在说什么复选框或弹出窗口。也许是屏幕截图? -  路易斯·霍 09月14日在'14
0:20
 
gyazo.com/6d7bb2035979cb75253ba92a40e8d898我想我看到它,它是这一个 - 路易斯·霍 09月14日在'14
0:27
1 
是的,但是这将剥离包中的所有符号,因此您不会收到符号崩溃报告?(他们甚至在App
Store应用程序中甚至提供符号崩溃报告吗?) -  Markus
Rautopuro Sep
23 '14 at 7:32
8 
“亲爱的开发人员,我们正在使这个(看似简单的)简单的过程提交你的应用程序,这更令人困惑和困难,请继续做一个项目干净,删除数据,重新启动xcode,重新发布所有的凭据。并祈祷所有的事情都做了“ -  泰勒·哈利迪 9月30日14日14时55分 
2 
这不是问题的有效解决方案。这是避免症状,而不是解决问题。有关如何上传您不需要的符号的说明,请参阅Mikhails答案。这个答案可以防止上传任何符号,从而通过iTunesConnect -  JConway 8月3日'16在23:15破坏崩溃的符号
添加评论





投票12票
如果您将库的调试信息包含在项目存档中,但不包括二进制文件,则会发生这种情况。与您的项目打开一个组织者窗口。在右键菜单中选择“在查找器中显示”。再次使用右键单击项目的归档文件以查看包的内容。在
dSYMs
文件夹中,您可以找到一批文件。如果在这些文件上运行console命令,您将获得一个UUID字符串列表:
dwarfdump -u MyFile.dSYM


我相信你会从苹果的电子邮件中找到一些UUID。

为了避免此警告,您需要包括仅归档应用
dSYM
程序的文件,而不是库。为此,您需要更改库的构建配置以生成
dSYM
文件。只需在配置中搜索“调试信息格式”,并将其从仅更改
DWARF
with dSYM File
DWARF
。在屏幕截图上,您将会找到Stripe
iOS框架的示例。





 具体可行方案:App 提交 iTunes Connect 二进制无效问题解决方案
转自:http://www.tuicool.com/articles/ABbaqaz

自2015年2月份开始,新上传到iTunes上面审核的app,必须支持64位,新上传是指第一次上传,

或者没有审核通过过,总之就是在AppStore上面没有上架的app,必须支持64位,包括工程里面的代码和用到的静态库文件

如果之前iTunes上面有审核通过的app,现在只是上传升级版本,更新版本去审核,这时也可以提交成功,iTunes上面验证二进制文件可以通过,

不必非得支持64位,但是不要高兴太早,这只是权宜之计,到2015年6月份上传的升级版本还是要支持64位,只是现在这种情况不需要强制,


1.先查看下是否支持64位(发布的App要支持64位)

如下图所示是支持64位




2.查看Schemes的Analyze和Archive是否是release模式




Analyze要为release模式

以上两个解决了还是不行,打包上传TMD还是二进制文件无效,why?



用Xcode打包上传时,苹果让我们默认勾选了Include app symbols for your application to receive symbolicated crash logs from Apple.

将勾去掉,但是还是不能上传还是二进制文件无效.继续解决问题



Architectures:你想支持的指令集。(支持指令集是通过编译生成对应的二进制数据包实现的,如果支持的指令集数目有多个,就会编译出包含多个指令集代码的数据包,造成最终编译的包很大。) Valid architectures:即将编译的指令集。(Valid architectures 和 Architecture两个集合的交集为最终编译生成的版本)

Build Active Architecture Only:是否只编译当前设备适用的指令集(如果这个参数设为YES,使用iPhone 6调试,那么最终生成的一个支持ARM64指令集的Binary。一般在DEBUG模式下设为YES,RELEASE设为NO)。

还有最好在iOS Device环境下打包,不要插上真机打包。

为了严谨可以将包导出,然后在终端检查看是否支持arm64




Resource Reference

http://www.jianshu.com/p/3511ec38ca20

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: