Android和ios 版本更新,同时发布资源,但是ios还没有审核通过怎么办?

重新打包编译资源后 生成的资源里面,有一个配置文件 appMetadata_in_server.json 是一个json结构的文件,部署的时候手动修改一下这个配置文件 中的appInfo  iosApp version 这个版本号改成旧的(上一次编译的版本)!,那么苹果暂时就不会提示更新了! 等审核通过以后,再手动修改它,改成新版本!就可以了! (注意:苹果打包版本更新的地址是:指定AppStore 的下载页面!需要用户自己下载安装)

模式1或模式2打包真机调试

真机调试的文档是参考:http://docs.wex5.com/android-and-ios-device-debugging/ 一般情况,模式3打包就可以真机调试了, 一些特殊情况下,需要模式1或者模式2打包进行真机调试 模式1打包的时候,默认不支持真机调试,需要修改一下配置 /Native/templates/advanced/platforms/android/AndroidManifest.xml <application>里加了一行这个配置 android:debuggable="true" 就可以进行真机调试了   cordova的说明文档有介绍:http://cordova.apache.org/docs/en/6.x/guide/next/index.html#page-toc-source

app中的音频播放

1.使用插件:cordova-plugin-media   参考http://docs.wex5.com/cordova-plugin-media/ 案例:/audio/mainActivity.w 2.使用audio 标签实现,比如w源码中 添加audio标签 <audio xid="bgMusic"> <source src="music.mp3" type="audio/mp3"></source> </audio> 或者 <audio xid="bgMusic" src="music.mp3" controls="controls"></audio> js中获取audio dom节点使用 js原生的方法播放音频 Model.prototype.button3Click = function(event){ var audio = this.getElementByXid("bgMusic"); //播放(继续播放) audio.play(); [...]

文件上传的实现方法

1.使用attachmentSimple组件,当然服务器端接收文件的写法应该参考:/Baas/justep/SimpleFileStore.java http://docs.wex5.com/wex5-ui-question-list-2100 然后设置attachmentSimple 指向你的服务器! 2.如果你的服务器端sevlet 接口已经写好了,不是通过attachmentSimple 上传的!可以通过标准的ajax 去上传图片,比如参考:http://bbs.wex5.com/forum.php?mo ... 1&pid=165340769 这样input type=file就能上传了! 这种方法可以上网查! 3.app中还可以使用corodva插件实现文件上传!指定你写的servlet 接口即可 http://bbs.wex5.com/forum.php?mod=viewthread&tid=68669 http://bbs.wex5.com/forum.php?mo ... 8&pid=165225779

连续关闭多个shell.showPage打开的页面,路由冲突问题

一般关闭当前页面的方法,就是调用this.close() 但是这种关闭的方法,Android 手机物理回退键 会重新打开此页面! 如果连续调用多个页面的关闭方法,物理回退键会依次路由回去!这就是因为关闭页面的方法和 物理回退不一致导致的! 解决方案 比如 A 页面 打开 B 页面 B打开C > D > E > F 想从 F 页面直接回到B页面进行操作,连续关闭4个页面,可以在F页面中直接执行一行代码 history.go(-4) history.go(-n) n 表示连续回退多次!

ios打包报错:证书引起的问题

1.ios打包 报错 :SecKeychainItemImport: The specified keychain could not be found 这个错误原因是:证书失效了,重新导出一份证书就可以了 2.报错信息 :No provisioning profiles matching an applicable signing identity were found 原因可能是证书不符合打包的要求!比如包名和bindID 不一致 3.Code Sign error: No code signing identities found: No valid signing [...]

div中放置多个子元素,touch拖动的时候当做一个整块进行拖动

在案例中主要的代码如下:判断当前拖动的dom节点是不是我要的那个div ,如果不是,说明就是拖动了子元素,那么就通过this.parentNode 获取父元素(还找到这个div,进行位置的变动) if(me.getElementByXid('drag') != this){ this.parentNode.style.webkitTransform = "translate3d(" + offx + "," + offy + ",0)"; return; } touch整体拖动案例下载 这个案例是根据/UI2/system/components/justep/touch/demo/touchjs/mainActivity.w修改的! 你可以覆盖上去看下演示效果和代码

版本更新需要注意的问题

3.6以上的版本!系统自带了资源更新和版本更新的能力,代码是:/UI2/system/components/justep/versionChecker/versionChecker.js 关于资源更新和版本更新介绍的文档是:http://docs.wex5.com/app-resources-and-version-update/ 版本更新需要注意的配置 web服务器地址,必须填写真实可用的IP地址!不能为空,因为,重新部署后,版本更新必须要求客户端网路能请求到服务器才行的! app版本号一定要修改,并且比原来版本的版本号要大(最好是版本号递增就可以),因为代码中会判断版本号,只有比当前版本号大,才会进行版本更新的 关于版本更新和资源更新的一些配置说,以及下载地址(不填是默认的地址)  最终这些配置会写在appMetadata_in_server.json 文件中,其实版本更新和资源更新就是客户端请求服务器的这个配置文件!和本地版本进行比较!如果服务器端版本号大,就弹出提示,版本更新

百度地图坐标相关的问题

1.获取当前位置的坐标,可以参考外卖案例,主要的代码是: navigator.geolocation.getCurrentPosition 2.百度地图上获取大头针经纬度 ,点击位置的经纬度,设置经纬度等的案例:/UI2/demo/plugin/baiduMap 这个案例需要在综合演示中(门户中)才能打开运行的! 案例比较全!可以自己appLoader 运行 /UI2/portal/sample/index.w 进行运行测试效果 3.经纬度坐标的转换案例:/UI2/demo/plugin/geolocation/demo.w /UI2/demo/plugin/baiduMap/utils.w 4.根据经纬度获取地理位置信息: 参考:http://docs.wex5.com/wex5-app-question-list-2062/ /UI2/demo/plugin/baiduMap/utils.w (注意)这个案例/UI2/demo/plugin/baiduMap 只能是在app中使用插件com.justep.cordova.plugin.baiduMapBase 才能调用的!!如果不使用这个插件显示的地图, 这个插件的方法就是不能使用的!