欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Xamarin 编写混合APP趟坑记录(二)

程序员文章站 2022-06-25 08:14:45
前言 公司要开发一个App,为了便于维护和更新,而不用每次去苹果审核,采用的是混合开发方式:用WebVie+WebApp的方式。 因为本人不会Java和ObjectC,公司又不想花钱招这两个岗位的人,因此我来顶上,采用Xamarin+C#。 时间紧张,第一版使用Xamarin自带的 WebView, ......

前言

公司要开发一个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的时间。开发不易,且行且珍惜,写在此处给自己留个纪念,也给后面碰到类似问题的人一些启示吧。