[APP开发技巧] 新手遇到的坑,你踩中了几个,初识apicloud

1.  本地编译的和云编译的效果不同,当时遇到很困惑,这个选成了cityList和摇一摇模块是空白的
后来发贴求助才知道,原来要在网页上增加模块,并且不选中加密方式。为管理员点一个赞,因为他回复蛮快的,很用心地在做事。

2. 在cityList中,返回对象android和ios不同,我是用安卓开发的,里面有一个属性status,我就判断它为true里正常执行回调方法,


哪知道ios没有这个属性,就不会执行我的回调方法,所以出现了选中城市没有反应的情况。

3. 这个问题还没有解决,就是引用外部的h5页面的时候,不是自适应全屏,当然了,这也和h5页面写得不是很规范有关,但是我们又不能改,

但是本地浏览打开正常呀。问题具体在这个帖子里有说明
http://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=9434&extra=

问题3,刚发现了一种解决方案,原帖如下
http://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=9591

美中不足的是,还没看到ios版的。还有一个不足,没有close方法,页面离开后,音乐还在后台播放。
4. cityList中,安卓手机中存在,苹果手机不存在。选中广州 GPS定位  和  选中广州 ,返回的格式是不同的,就是因为广州后面多了一个 GPS定位,
多了GPS 定位的只返回了城市的名称,没有 GPS定位的会返回你定义的完整的城市信息,可能有pinyin呀,id呀什么的。
还有一个回调处理函数中,可能是框架对alert进行了改造,有时候执行到alert并没有真的弹出alert窗口,并是它确实执行到了那个语句块。
5  $api.fixIos7Bar($api.byId('main'));   在苹果上如果找不到id为main的元素,苹果就不继续执行了,虽然有时候写错是程序员负主要责任,但是可以优化,
优化不让它中断执行。

6  有时候,我只想app打开的第一个页面只执行一次apiready,还比如头疼,app打开的第一个页面,系统自动命名为root,你再次打开,可能命名别的名字,比如index,它认为是不同的页面,就又执行了一次apiready。解决办法
if(api.winName == 'root'){

}
7 静默更新(云修复)苹果iphone上的根目录必须是 widget,否则更新不了。


8 苹果浏览器好矫情,在用openFrame的时候,发现安卓可以,苹果却打不开。后来才知道url后面多了一个空格,苹果就打不开了。。。

9 项目中不能出现中文文件,否则安卓编译不通过,但苹果可以通过。。。

10  $('#nav_menu').width(api.winWidth);设置没有生效。后来随便写一个数字100生效了。发现原来是因为api.winWidth返回的是一个字符串类型,width只接受数字,真挑食。这样我们要手动转换parseInt(xxx, 10);后面加一个数字10指明十进制转换是个好习惯。以前做开发的时候就遇到过没有加10,然后输入010这样的八进制格式的就出乱子。

[qq]714008456[/qq]
11 App上面留出20px像素的状态栏。
不是填  <preference name="statusBarAppearance" value="true"/>    <preference name="iOS7StatusBarAppearance" value="true"/>  

而是填  
  <preference name="iOS7StatusBarAppearance" value="true"/>  
12 我在 openFrameGroup中设置某个frame的 bounces属性为false。发现一直没生效。后来才知道,因为这个frame里调用了api.setRefreshHeaderInfo,然后这个frame就
bounces就变为true了。

13
苹果 静默更新 不能有中文,会出现黑屏,不能是1.zip,更新不下来,只能widget.zip

14
有些模块删除不了,可能是你在config.xml里面加了那个配置,所以模块管理里面没有-的标识。你可以把config.xml里面的配置删除,提交svn,然后再在后台移除模块。


15
<preference name="fullScreen" value="false"/>
<preference name="statusBarAppearance" value="true"/>加了这两个设置后,发现并没有显示状态栏,或能是有些配置需要云编译。

然后,我先提交config.xml,然后在后台管理页面云编译,发现有状态栏了,然后再在本地云编译,发现也有了。看来后对台的云编译使这个配置生效了。

转自http://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=9648

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值