Xamarin 编写混合APP趟坑记录(二)
前言
公司要开发一个App,为了便于维护和更新,而不用每次去苹果审核,采用的是混合开发方式:用WebVie+WebApp的方式。
因为本人不会Java和ObjectC,公司又不想花钱招这两个岗位的人,因此我来顶上,采用Xamarin+C#。
时间紧张,第一版使用Xamarin自带的 WebView,构建了一个简单的App,开发上传什么的,开发涉及到的东西挺多,服务端、外壳、WebApp(主要开发不是我)等一大堆要处理,备案、申请证书、上线(苹果、安卓同步)啥的,反正弄了一个月才弄好。
因为Xamarin里面的WebView是简单的封装,苹果的也不是使用最新的内核,暴露的接口不多(可能是我不太懂的原因不知道),里面能够发挥的空间不多,比如和网页交互什么的做不到,因此决定重新做一个壳,或者找一个开源的自己修改。
以上是废话,讲了很多,反正壳是弄好了,安装的是WebView,苹果的是WKWebView。
测试打包,一切OK,准备提交到AppStore, 以为万事大吉,结果报
ERROR ITMS-90022: "Missing required icon file. The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format for iOS versions >= 7.0." ERROR ITMS-90032:"Missing required icon file. The bundle does not contain an app icon for iPad ...
等等一大堆错误信息!重新编译,重建AppIcons的内容等,都不生效,网上的办法也试了很多,连MacOs都升级了(升级过程中反MacOs都弄挂了,是虚拟机),都没有解决,提示缺少的文件我明明都有,为啥提示丢失呢?Contents.json文件里有,别的地方没有哪里有记录,把我整死了。
后来看别人说把文件拷贝进去受到启发,我想是不是我那些图标文件没有被使用到呢?然后我在Info.plist中增加
<string>Assets.xcassets/AppIcons.appiconset</string> <key>NSExceptionDomains</key>
然重新编译,上传成功,整整折腾了下午三小时加第二天一上午,其中包含升级Mac Os X的时间。开发不易,且行且珍惜,写在此处给自己留个纪念,也给后面碰到类似问题的人一些启示吧。