zoukankan      html  css  js  c++  java
  • C4-Cordova在iOS平台的使用

    一、创建工程及运行

      1、安装部署工具

        ios-simios-deploy工具,可以使你通过命令行在iOS模拟器和iOS设备上面启动app。

            $ npm install -g ios-sim
            $ npm install -g ios-deploy    

      2、Create a New Project

            $ cordova create hello com.example.hello "HelloWorld"
            $ cd hello
            $ cordova platform add ios
            $ cordova prepare              # or "cordova build"    

      3、部署运行app

        部署在一个已经连接的iOS设备上:

            $ cordova run ios --device

        部署在一个默认的iOS模拟器上:

            $ cordova emulate ios

    二、config.xml详解

      config.xml文件控制了app的一些基本设置信息。

      1、EnableViewportScale (boolean类型, 默认是false): 设置为true,允许meta标签的视窗在用户限定的范围内缩放或者禁用。

            <preference name="EnableViewportScale" value="true"/>    

      像如下的html一样来创建一个视窗,可以禁止缩放,可以在渲染的WebView里灵活缩放。

            <meta name='viewport' content='width=device-width, initial-scale=1, user-scalable=no' />

      2、MediaPlaybackAllowsAirPlay (boolean类型, 默认是true): 设置false会阻止view对Air Play的支持。默认在UIWebView和WKWebView是可用的。

            <preference name="MediaPlaybackAllowsAirPlay" value="false"/>

      3、MediaPlaybackRequiresUserAction (boolean类型, 默认是false): 设置true禁止HTML5上面的音视频响应自动播放属性的设置或者js代码的调用引起的自动播放事件。

            <preference name="MediaPlaybackRequiresUserAction" value="true"/>

      4、AllowInlineMediaPlayback (boolean类型, 默认是false): 设置true允许HTML5内联媒体在屏幕范围内播放,通过浏览器支持控制而不是远胜控制。可以通过给任意<video>元素添加webkit-playsinline属性来实现。

            <preference name="AllowInlineMediaPlayback" value="true"/>

      5、BackupWebStorage (string类型, 可以设置为none,local或者默认是cloud): 设置cloud允许备份数据到iCloud。设置local仅允许通过iTunes同步备份。设置none禁止备份。 

            <preference name="BackupWebStorage" value="local"/>

      6、TopActivityIndicator (string类型, 默认是gray): 控制ActivityIndicator在状态栏的显示,可选的有whiteLarge, white, and gray。

            <preference name="TopActivityIndicator" value="white"/>    

      7、KeyboardDisplayRequiresUserAction (boolean类型, 默认是true): 设置为false允许键盘响应inputs元素的调用。

            <preference name="KeyboardDisplayRequiresUserAction" value="false"/>

      8、SuppressesIncrementalRendering (boolean类型, 默认是false): 设置true的话,元素渲染到屏幕前会等待所有的内容获取完全。

            <preference name="SuppressesIncrementalRendering" value="true"/>

      9、GapBetweenPages (float类型, 默认是0): 表示页面间距。

            <preference name="GapBetweenPages" value="0"/>

      10、PageLength (float类型, 默认是0): 在页面滚动方向上的页面长度。当页面滚动方式是由右到左或者由左到右的时候,这个属性代表的是每个页面的宽度。当页面滚动方式是由上到下或者由下到上的时候,这个属性代表的是每个页面的高度。默认值是0,意味着页面的尺寸有视图决定。

            <preference name="PageLength" value="0"/>

      11、PaginationBreakingMode (string类型, 默认是page): 可选项有page和column。这个属性决定了CSS属性设置的column-和page-breaking是否能生效。此属性设置了column的时候,由CSS控制的页面元素内容就会由column-breaking替代page-breaking。

            <preference name="PaginationBreakingMode" value="page"/>    

      12、PaginationMode (string类型, 默认是unpaginated): 可选项有unpaginated, leftToRight, topToBottom, bottomToTop, and rightToLeft。这个属性决定了webview的内容在充满视窗的时候是分页还是显示一个长的滑动的view。如果设置了分页格式,内容元素的分页会导致webview调用PageLength和GapBetweenPages的value去布局内容。

            <preference name="PaginationMode" value="unpaginated"/>

      13、UIWebViewDecelerationSpeed (string类型, 默认是normal): 可选项有normal, fast。这个属性控制了滑动的减速度。默认的normal是最接近原生app效果的,而fast选项是针对移动端Safari的。

            <preference name="UIWebViewDecelerationSpeed" value="fast" />

      14、ErrorUrl (string类型, 默认无设置): 如果设置了,在app里引用此本地页面文件会报错。

            <preference name="ErrorUrl" value="myErrorPage.html"/>

      15、OverrideUserAgent (string类型, 默认无设置): 如果设置了,设置的值就会替代webview原来的UserAgent(用户代理),在确定获取远端页面的请求是由app发出的还是由浏览器发出的时候UserAgent是很有用的。使用警告,这可能导致服务兼容问题。大多数情况下,用AppendUserAgent代替。

            <preference name="OverrideUserAgent" value="Mozilla/5.0 My Browser" />

      16、AppendUserAgent (string类型, 默认无设置): 如果设置了,设置的值就会加到webview原来的UserAgent后面。设置OverrideUserAgent的时候,此设置会被忽略。

            <preference name="AppendUserAgent" value="My Browser" />

      17、target-device (string类型, 默认是universal): 可选项有handset, tablet, universal。此属性直接显示在Xcode工程的TARGETED_DEVICE_FAMILY上面。注意,如果你的target设置了universal,你提交应用的时候需要同时提供iPhone和iPad的截屏,否则可能被拒。

            <preference name="target-device" value="universal" />

      18、deployment-target (string类型, 默认无设置): 设置了应用支持的iOS系统最低版本。详细信息可以查看苹果官方文档Deployment Target Settings

            <preference name="deployment-target" value="7.0" />

      19、CordovaWebViewEngine (string类型, 默认是 'CDVUIWebViewEngine'): 设置WebView的引擎插件提供给本地的app,插件必须遵守CDVWebViewEngineProtocol协议。设置的value必须匹配已安装的WebView引擎插件在'feature'标签内的名字。此设置通常为自动设置安装。

            <preference name="CordovaWebViewEngine" value="CDVUIWebViewEngine" />

      20、SuppressesLongPressGesture (boolean类型, 默认是false): 设置为true避免了iOS9+的长按webview显示一个放大镜控件的效果出现。测试你的应用程序,因为这可能影响文本选择的功能。

            <preference name="SuppressesLongPressGesture" value="true" />

      21、Suppresses3DTouchGesture (boolean类型, 默认是false): 设置为true避免支持3D Touch的设备在用户用力长按webview的时候出现一个放大镜控件。请测试你的应用,因为这禁止了onclick操作,但是ontouchend依然生效。如果此设置为true,SuppressesLongPressGesture同样会被设置为true并有效。

            <preference name="Suppresses3DTouchGesture" value="true" />

      22、CDVSystemSchemesOverride (string类型, 默认是 maps,tel,telprompt):  用逗号分隔的URL schemes列表里的URL是被允许进入系统的,而不是由科尔多瓦WebView本身。

            <preference name="CDVSystemSchemesOverride" value="maps,tel,telprompt" />
  • 相关阅读:
    SAP MM 采购附加费计入物料成本之二
    SAP MM 采购附加费计入物料成本?
    SAP MM 作为采购附加费的运费为啥没能在收货的时候计入物料成本?
    SAP MM 外部采购流程里的Advanced Return Management
    SAP MM 外部采购流程里的如同鸡肋一样的Advanced Returns Management功能
    SAP MM Why is the freight not included in the material cost at the time of GR?
    SAP MM: Change of material moving average price after goods receipt and invoice verification posting for PO
    SAP 创建启用了ARM功能的采购订单,报错 Shipping processing is not selected to supplier 100057 in purchase org. 0002
    GIT·代码仓库默认分支更改
    .Net/C#·运行报错缺少XXX文件,但双击无法跳转缺少位置
  • 原文地址:https://www.cnblogs.com/yaann/p/5110236.html
Copyright © 2011-2022 走看看