ionic的config.xml文件配置

官方文档: https://cordova.apache.org/docs/en/latest/config_ref/index.html
转自:http://blog.csdn.net/zzh_receive/article/details/53191593?locationNum=1&fps=1

config.xml的作用

Config.xml用于控制一些app的行为,这个平台无关的xml文件是基于W3C的Packaged Web Apps(Widgets)描述标准,扩充特定的核心Cordova API功能,插件和特定平台设置

当通过Cordova命令行创建一个工程以后,在其根目录会有一个config.xml文件,当使用platform add命令添加指定的移动平台以后,会在platforms目录各自平台的子目录有一个config.xml的拷贝

app/platforms/ios/AppName/config.xml 
app/platforms/blackberry10/www/config.xml
app/platforms/android/res/xml/config.xml

config.xml核心配置元素

<widgetid="com.example.hello"version="0.0.1"><name>HelloWorld</name><description> A sample Apache Cordova application that responds to the deviceready event. </description><authoremail="dev@callback.apache.org"href="http://cordova.io"> Apache Cordova Team </author><contentsrc="index.html" /><accessorigin="*" /></widget>

中的id用来标记app的标识符,同时我们也可以在这里设置versionCode,CFBundleVersion和packageVersion这类版本信息
用于指定app的正式名称,在手机主页和app-store里面显示的名字。
和用于配置程序的说明文字,作者。这些信息会出现在app-store的信息里面。
用于设置app的启示页,该页默认为index.html,在工程根目录。
此配置用来设置app可以访问哪些外部域下server的资源,具体参考Whitelist
用于设置各个可选设置,每一个preference不区分大小写,有一些preference只针对特殊平台有效。下面是一些针对多平台有效的常见preference。

共通参数

该参数用于设置app是否隐藏状态栏,在ios下是不隐藏状态栏的,但是会影响获取状态栏高度的准确值,默认为false。

<preferencename="Fullscreen"value="true" />

支持多平台的参数设置

设置是否禁止滑动超出范围,此时会在超出部分显示黑色背景。在ios下如果设置为true,会引起拖拽页面的时候会触发放大显示功能。

<preferencename="DisallowOverscroll"value="true"/> #仅支持IOS&Android

主背景色。

<preferencename="BackgroundColor"value="0xff0000ff"/> #仅支持BlackBerry&Android

隐藏键盘显示时上面附带的status bar。

<preferencename="HideKeyboardFormAccessoryBar"value="true"/> #仅支持BlackBerry

锁定显示朝向landscape or portrait。

<preference name="Orientation" value="landscape" />
<platform name="android"> 
      <preference name="Orientation" value="sensorLandscape" /> 
</platform>
 <platform name="ios">
      <preference name="Orientation" value="all" />
 </platform>

为特定平台添加plugin。在使用cordova plugin add指令的时候会自动添加。

<feature name="Device"><param name="android-package" value="org.apache.cordova.device.Device" /></feature>
<feature name="Device"><param name="ios-package" value="CDVDevice" /></feature>

为指定平台单独设置属性。

<platform name="android"><preference name="Fullscreen" value="true" /></platform>

设置hook,具体参见Hook

<hook type="after_plugin_install" src="scripts/afterPluginInstall.js" />

iOS的config.xml设置

EnableViewportScale (boolean, defaults to false) 如果设置成true,用于在viewport的meta标签是否生效。

<preferencename="EnableViewportScale"value="true"/>

MediaPlaybackAllowsAirPlay (boolean, defaults to true): 是否阻止使用airplay功能。

<preferencename="MediaPlaybackAllowsAirPlay"value="false"/>

MediaPlaybackRequiresUserAction (boolean, defaults to false) 是否阻止自动播放媒体文件。

<preferencename="MediaPlaybackRequiresUserAction"value="true"/>

AllowInlineMediaPlayback (boolean, defaults to false) 是否允许重放,需要在浏览器提供的标签内添加webkit-playsinline。

<preferencename="AllowInlineMediaPlayback"value="true"/>

BackupWebStorage (string, either none, local, or the default cloud) 选择程序备份的地点。

<preferencename="BackupWebStorage"value="local"/> #none不进行备份 #local 备份到本地iTurn #cloud 备份到via iCloud

TopActivityIndicator (string, defaults to gray) 用于设置顶部状态栏风格,可选参数whiteLarge, white, and gray。

<preferencename="TopActivityIndicator"value="white"/>

KeyboardDisplayRequiresUserAction (boolean, defaults to true) 是否禁止当输入框使用focus()获得焦点的时候显示键盘。

<preferencename="KeyboardDisplayRequiresUserAction"value="false"/> #绝大多数情况下我们应该设置成false,除非你不想让用户输入任何信息

SuppressesIncrementalRendering (boolean, defaults to false) 是否支持数据全部渲染完成后再显示到界面上。

<preferencename="SuppressesIncrementalRendering"value="true"/>

GapBetweenPages (float, defaults to 0) 界面间隙(ios UIWebView的配置参数)。

<preferencename="GapBetweenPages"value="0"/>

PageLength (float, defaults to 0) 每个界面的size(ios UIWebView的配置参数)。

<preferencename="PageLength"value="0"/>

PaginationBreakingMode (string, defaults to page) ios UIWebView相关的参数。

 可选值 page and column 
<preferencename="PaginationBreakingMode"value="page"/>

PaginationMode (string, defaults to unpaginated) 用于设置分页相关的,是ios UIWebView相关的设置。

 # 可选值 unpaginated, leftToRight, topToBottom, bottomToTop, and rightToLeft. 
<preferencename="PaginationMode"value="unpaginated"/>

UIWebViewDecelerationSpeed (string, defaults to normal) 用于设置滚动条滑动速度。

 #可选值 normal, fast 
<preferencename="UIWebViewDecelerationSpeed"value="fast" />

ErrorUrl (string, not set by default) 设置错误信息页。

<preferencename="ErrorUrl"value="myErrorPage.html"/>

OverrideUserAgent (string, not set by default) 用于重新设置UserAgent信息。

<preferencename="OverrideUserAgent"value="Mozilla/5.0 My Browser" />

AppendUserAgent (string, not set by default) 在UserAgent末尾添加新内容。

<preferencename="AppendUserAgent"value="My Browser" /> #当OverrideUserAgent被设置时无效

target-device (string, defaults to universal) 设置支持设备类型,手机,平板,无限制。

 #可选值 handset, tablet, universal 
<preferencename="target-device"value="universal" />

deployment-target (string, not set by default) 设置支持的最低版本。
<preferencename="deployment-target"value="7.0" />
1

CordovaWebViewEngine (string, defaults to ‘CDVUIWebViewEngine’) 设置cordova引擎,一般没人会设置这个。

<preferencename="CordovaWebViewEngine"value="CDVUIWebViewEngine" />

SuppressesLongPressGesture (boolean, defaults to false) 是否绕过3Dtouch长按弹出一个放大窗口显示内容的功能。

<preferencename="SuppressesLongPressGesture"value="true" />

Suppresses3DTouchGesture (boolean, defaults to false) 是否绕过3Dtouch功能。

<preferencename="Suppresses3DTouchGesture"value="true" /> 
如果Suppresses3DTouchGesture为true,SuppressesLongPressGesture最好也要设置为true

CDVSystemSchemesOverride (string, defaults to maps,tel,telprompt) 设置允许被传送给系统的协。

<preferencename="CDVSystemSchemesOverride"value="maps,tel,telprompt" />

Android的config.xml设置

KeepRunning (boolean, defaults to true): 决定是否允许app在pause后依然运行,设置成false在app接受pause的时候就不会被杀死了,只是暂停执行代码

<preferencename="KeepRunning"value="false"/>

LoadUrlTimeoutValue (number in milliseconds, default to 20000, 20 seconds): 用来设置加载一个页面的timeout时间。默认20秒。

<preferencename="LoadUrlTimeoutValue"value="10000"/>

SplashScreen (string, defaults to splash): 用于设定splash screen的启动图片的名字,这个名字在res/drawable目录。 在各自子目录里面设置同样名字的资源。

<preferencename="SplashScreen"value="mySplash"/>

SplashScreenDelay (number in milliseconds, defaults to 3000): splash screen的显示时长。

<preferencename="SplashScreenDelay"value="10000"/>

InAppBrowserStorageEnabled (boolean, defaults to true): 控制是否允许在InAppBrowser打开的web页面允许访问相同的localStorage和webSQL资源。

<preferencename="InAppBrowserStorageEnabled"value="true"/>

LoadingDialog (string, defaults to null): 用于设置在第一次加载页面的时候显示一个窗口,该窗口显示指定的title和message。

<preferencename="LoadingDialog"value="My Title,My Message"/>

LoadingPageDialog (string, defaults to null): 和LoadingDialog一样,但是在第一次加载每一个页面的时候都会显示。

<preferencename="LoadingPageDialog"value="My Title,My Message"/>

ErrorUrl (URL, defaults to null): 如果发生问题的话显示一个以Application Error为title的页面。

<preferencename="ErrorUrl"value="myErrorPage.html"/>

ShowTitle (boolean, defaults to false): 在屏幕顶端显示title。

<preferencename="ShowTitle"value="true"/>

LogLevel (string, defaults to ERROR): 设置log的等级,取值范围[ERROR, WARN, INFO, DEBUG, and VERBOSE]。

<preferencename="LogLevel"value="VERBOSE"/>

SetFullscreen (boolean, defaults to false): 此属性已经不赞成使用,会在将来删除
AndroidLaunchMode (string, defaults to singleTop): 设置Activity的launchMode,和AndroidManifest.xml相同,具体参考android开发指南。可选值[standard, singleTop, singleTask, singleInstance]。

<preferencename="AndroidLaunchMode"value="singleTop"/>

DefaultVolumeStream (string, defaults to default, added in cordova-android 3.7.0): 设备的音量按钮相关设置,可以被设置成call或者media。
OverrideUserAgent (string, not set by default) 用于重新设置UserAgent信息。该设置会引起服务器issue,所以要谨慎使用。

<preferencename="OverrideUserAgent"value="Mozilla/5.0 My Browser" />

AppendUserAgent (string, not set by default) 在UserAgent末尾添加新内容。

<preferencename="AppendUserAgent"value="My Browser" /> #当OverrideUserAgent被设置时无效

可以参考本人的guthub项目,欢迎star

传送门:https://github.com/xiedajian/ionic3_demo/blob/master/config.xml

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,599评论 18 139
  • 中文翻译 ng help ng build 构建您的应用程序并将其放入输出路径(dist /默认情况下)。 别名:...
    4ea0af17fd67阅读 2,010评论 0 0
  • 描述 npm从以下来源获取配置值,按优先级排序: 命令行标记 在命令行上放置--foo bar设置foo配置参数为...
    竹天亮阅读 44,065评论 0 8
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,581评论 18 399
  • Spark SQL, DataFrames and Datasets Guide Overview SQL Dat...
    Joyyx阅读 8,320评论 0 16