美文网首页I love iOSObjective C开发iOS OC 学习手册
无时无刻需要注意的特殊符号的问题

无时无刻需要注意的特殊符号的问题

作者: qufl | 来源:发表于2016-09-04 18:48 被阅读339次

其实文章名应该叫:Xcode打包上传AppStore遇到问题

Archive upload failed with errors:
An XML parsing error has occurred.
The XML file:metadata.xml in /var/folders/......./1234.itmsp is NOT well-formed.


曾经看到过一个段子:
女孩子最好找个程序员做男朋友,因为一般程序员脾气好,主要能认错,因为程序员总是说:“只要告诉我错在哪里,我一定改!”。

其实真的是这样啊(一脸认真)。

前几天在Xcode上打包ipa,准备上传AppStore。
经过漫长的等待,Archive终于完成了,到了这个界面


Xcode-Organizer.png

然后选择Validate,又是漫长等待... 显示成功啦!
然后就是蓝色的大按钮Upload to App Store,信心满满,验证都通过了,上传不会有问题了吧,就算有,最多也就是网络不行,重新上传。
结果,蹦出来个这玩意


uploaderror.jpeg

然后我一脸萌比,跑去google这个问题[The XML file:metadata.xml NOT well-formed.]。
然后搜到,有很多小伙伴也遇到过这个问题:

总结起来,大概就是Xcode工程中的某些内容(例如Info.plist文件中的配置,或者是项目名)中附带了某些特殊符号,这些符号大包时被写入了一个叫metedata.xml的文件,特殊符号导致这个XML文件的格式不正确。所以出现了上述错误。

之前看到这个错误,我犯了个错。我先跑去检查Info.plist,去检查我的项目名。其实,我应该从报错的这个metedata.xml文件入手。

我看到metedata.xml文件的路径这么复杂,估计是某个很隐秘的临时文件,我觉得我是找不到这个文件的。就这样,各种检查,纠结了一两个小时。最后看到某个帖子中,别人打开了这个文件夹。。。然后我恍然大悟似的,打开了Finder->前往->前往文件夹,输入了/var,然后一级一级的找到了这个metedata.xml文件,用Sublime打开了这个文件。

上面报错说NOT well-formed嘛,然后我就打开了XML格式验证工具,把文件内容全选复制粘贴进去验证,验证结果是

NoError.png

后来发现不知道是出了什么问题,貌似XML验证器查不出来问题


xml_validate.png

然后我以为并没有问题啊,怎么办呢。。。然后,继续纠结。然后偶然看了一下Sublime里面显示的内容,居然有一个图标(这里只是一个示例,不是真的metedata.xml文件的内容啊)


symbol.jpeg

发现metedata.xml文件中,这个符号是在版本号后面的,所以我去检查了版本号,果然有问题。。。重新输入了一遍版本号就ok了。


总结:
特殊符号真的很容易导致问题。通常我们输入的时候,特殊符号基本看起来都是空格(编辑器显示不了,所以显示出来时,只是占了一个空格的宽度,并没有显示内容),比较容易检查,这次遇到的符号,根本显示不出来,连一个空格的宽度都不占。
检查要找重点。其实如果我一开始就去检查metedata.xml文件,文件内容不多,而且这个图标这么明显,直接用眼睛就能看出来的。

下面的字母A和字母B之间附带了3个上面提到的特殊符号,你可能看不见,但是如果你把它复制到Sublime中,你就可以看到这个特殊符号。或者复制到QQ聊天输入栏中,光标定位在A左边,然后按➡️,你就会发现在A和B之间,你要多按几次➡️,才能移到B的右边。

A���B

在编辑文章的时候,上面的AB之间确实有特殊符号,但是发布之后。貌似复制不到了。纠结,所以我用在线工具查一下这个字符的编码吧:

查询结果:


code.png

你可以这样获得这个字符:


code2.png

相关文章

  • 无时无刻需要注意的特殊符号的问题

    其实文章名应该叫:Xcode打包上传AppStore遇到问题 Archive upload failed with...

  • MyBabits中< >等特殊字符的处理

    一、问题描述 在MyBatis的xml文件中,如果需要用<、<=、>等特殊符号,编译时会报错,因此该类特殊符号需要...

  • 递归实现:按固定长度截取字符串

    注意:避免使用特殊符号

  • 生活

    生活中真的处处有需要去注意。大到买房子装修,小到喝水用具。在现在社会当中无时无刻不需要我们注意,无时无刻不需要我们...

  • 商品搜索完全实现代码

    controller: 这里需要注意的是Feign方式传参会 去掉特殊符号,比如这里当传4G+64G时,会变为4G...

  • 面试需要注意的问题

    一、面试前的准备 1、准备自我介绍 2、了解公司 3、了解职位 4、模拟面试官可能会问的问题 二、自我介绍 1、不...

  • 考研需要注意的问题

    许多不一样的同学关于考研的想法 有的想试试,有的想逃避一下就业压力等等 但是不管怎么说 你既然选择了这条路 还是建...

  • shell需要注意的问题

    1. 写shell脚本的时候如果查不出错误,就留意下空格的问题,这个很严重,很坑!!! 2. 在将外部文件内容拷进...

  • 景区需要注意的问题

    大概是因为疫情的原因吧!河南省许多景区都实行免票游玩的惠民政策,这大大激发了群众的旅游热情,免票景区日日爆满,甚至...

  • 为什么文件无法传到ftp?

    使用flashxp上传文件的时候,如果文件中存在特殊符号“~”会导致文件无法上传。只需要去掉文件的名称中的特殊符号...

网友评论

  • 8d0387c1adc0:说出你可能不信,真想发图片给你看。我用sublime 拖进去一看,瞬间懵逼。没有任何占位符,就一个数字1.2.1 ,sub直接直观的告诉我,这里有个DLE 。 娘希匹的

    很感谢;。
  • Code_Ninja:今天也遇到这个问题了,我是修改了bundle_version之后,数字前面莫名其妙的多了个EXT的东西,真奇怪。
    qufl:@Code_Ninja 哈哈,大概是某个ninja悄悄的按了什么键

本文标题:无时无刻需要注意的特殊符号的问题

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