±à¼ÍƼö: |
±¾ÎÄÀ´×Ôwww.hangge.com
£¬ÎÄÕÂÖ÷Òª½²½âÁË ÅäÖᢿª·¢µÚÒ»¸öÓ¦Óã¬ÉúÃüÖÜÆÚ¡¢Ê¹ÓÃSafariµ÷ÊÔ£¬Í¨¹ýÕâËĸö·½ÃæÏêϸ½éÉÜ¡£ |
|
ÅäÖᢿª·¢µÚÒ»¸öÓ¦ÓÃ
ÏÖÔڱȽÏÁ÷ÐÐʹÓà html5 ¿ª·¢Òƶ¯Ó¦Ó㬱Ͼ¹Ö»ÒªÐ´Ò»Ì×htmlÒ³Ãæ¾Í¿ÉÒÔÊÊÅä¸÷ÖÖÒÆ¶¯É豸£¬´ó´ó½ÚÊ¡ÁË¿çÆ½Ì¨Ó¦ÓõĿª·¢Ê±¼ä¡£¶ø²»ÏñÒÔǰһÑù
Android ҪдһÌ׳ÌÐò£¬iOS ҪдһÌ×£¬ÉõÖÁ Windows Phone »¹ÒªÔÙдһÌ׳ÌÐò¡£
ËäȻʹÓÃH5¿ª·¢µÄ½çÃæºÜÈÝÒ×ÊÊÅä¸÷ÖÖÊÖ»úÉ豸£¬µ«ÓÉÓÚϵͳµÄ²îÒ죬Èç¹ûÒª·ÃÎÊÔÉúµÄÉ豸¹¦ÄÜ£¨ÈçÉãÏñÍ·¡¢Âó¿Ë·çµÈ£©»¹ÊÇÓÐЩ²»±ã£¬»òÕß˵²»ÊÇÄÇôͳһ¡£ÕâʱÎÒÃÇ¿ÉÒÔ½èÖú
Cordova À´¿ª·¢H5¿çƽ̨ӦÓá£
Ò»£¬Cordova½éÉÜ
£¨1£©Cordova ǰÉíÊÇ PhoneGap£¬Adobe½«PhoneGap¹±Ï׸øApacheºó³ÉΪ¿ªÔ´ÏîÄ¿¾Í¸ÄÃû³ÉCordova¡£
£¨2£©CordovaÌṩÁËÒ»×éÉ豸Ïà¹ØµÄAPI£¬Í¨¹ýÕâ×éAPI£¬Òƶ¯Ó¦ÓÃÄܹ»ÒÔ JavaScript
·ÃÎÊÔÉúµÄÉ豸¹¦ÄÜ£¬ÈçÉãÏñÍ·¡¢Âó¿Ë·çµÈ¡£
£¨3£©Cordova»¹ÌṩÁËÒ»×éͳһµÄ JavaScript Àà¿â£¬ÒÔ¼°ÎªÕâЩÀà¿âËùÓõÄÉ豸Ïà¹ØµÄÔÉúºǫ́´úÂë¡£
£¨4£©CordovaÖ§³ÖÈçÏÂÒÆ¶¯²Ù×÷ϵͳ£ºiOS, Android,ubuntu phone os,
Blackberry, Windows Phone, Palm WebOS, Bada ºÍ Symbian¡£
¶þ£¬»·¾³´î½¨
1£¬°²×°Node.js £º
Ö÷ÒªÊÇÐèÒªÓÃÀ´ÏÂÔØºÍ°²×°Cordova
ÏÂÔØµØÖ·£ºhttps://nodejs.org
½«ÏÂÔØÏÂÀ´µÄpkgÎļþÔËÐа²×°¼´¿É¡£

ÔÚÖÕ¶ËÔËÐÐ npm -v£¬Èç¹û³öÏÖ°æ±¾ºÅÔò˵Ã÷ Node.js °²×°³É¹¦

2£¬°²×°Cordova CLI
ÔËÐÐÈçÏÂÃüÁî°²×°£º
sudo npm install
-g cordova |
ÒÔºóÈç¹ûÒª¸üÐÂCordova£¬ÔËÐÐÈçÏÂÃüÁ
sudo npm update
cordova -g |
cordova¸üÐÂÍê³Éºó£¬»¹ÐèÒª¸üÐÂÏîÄ¿£¨±ÈÈç¸üÐÂiosÏîÄ¿£©£º
cordova platform
update ios |
3£¬²âÊÔÏÂCordovaÊÇ·ñ°²×°³É¹¦
ÔËÐÐÈçÏÂÃüÁ
ÏÔʾ°æ±¾ºÅÔòÖ¤Ã÷°²×°³É¹¦¡£

ÔÎÄ:Cordova - ʹÓÃCordova¿ª·¢iOSÓ¦ÓÃʵս1£¨ÅäÖᢿª·¢µÚÒ»¸öÓ¦Óã©
Èý£¬´´½¨Ò»¸ö¼òµ¥µÄCordovaÏîÄ¿
1£¬ÔÚÖÕ¶ËÖÐÔËÐÐcdÃüÁî½øÈë´´½¨ÏîÄ¿¹¤³ÌµÄĿ¼λÖÃ
±ÈÈçÎÒÃÇÏë°Ñ¹¤³Ì´´½¨ÔÚÓû§ÎĸåĿ¼Ï£º
2£¬ÔËÐÐÈçÏÂÃüÁî´´½¨¹¤³ÌÏîÄ¿
cordova create
hello com.example.hello HelloWorld |
²ÎÊý˵Ã÷£º
µÚÒ»¸ö²ÎÊý hello Ϊ¹¤³ÌµÄÎļþ¼ÐÃû£»
µÚ¶þ¸ö²ÎÊý£¨¿ÉÑ¡£©com.example.hello ΪӦÓóÌÐòµÄidÃû£¬ÓëXcodeÖÐÀàËÆ£¬¿ÉÒÔÔÚ
config.xml ÖÐÐ޸ģ¬Èç¹û²»Ö¸¶¨µÄ»°Ä¬ÈÏΪ io.cordova.hellocordova£»
µÚÈý¸ö²ÎÊý£¨¿ÉÑ¡£©HelloWorld ΪAppÏÔʾµÄÃû³Æ£¬Ò²¿ÉÔÚ config.xml ÖÐÐ޸ġ£
3£¬´´½¨³É¹¦ºó¹¤³ÌĿ¼ÈçÏ£º

Ŀ¼Îļþ˵Ã÷£º
conig.xml £ºcordovaµÄÅäÖÃÎļþ
hooks/ £º´æ·Å×Ô¶¨ÒåcordovaÃüÁîµÄ½Å±¾Îļþ¡£
platforms/ £º¸÷¸öƽ̨ÔÉú¹¤³Ì´úÂ룬»áÔÚbuildʱ±»¸²¸ÇÎðÐÞ¸Ä
plugins/ £º²å¼þĿ¼£¨Ö÷ÒªÊÇÌṩ¸÷¸öƽ̨µÄÔÉúAPI£©
www/ £ºÓÃH5±àдµÄÔ´´úÂëĿ¼£¬buildʱ»á±»·ÅÈë¸÷¸öƽ̨µÄassets\wwwĿ¼¡£
www/index.html £ºAppÈë¿ÚhtmlÎļþ
4£¬Ìí¼ÓiOSƽ̨֧³Ö
£¨1£©½øÈ빤³ÌĿ¼
£¨2£©Ìí¼ÓiOSƽ̨Îļþ
£¨3£©Ö´ÐÐÍê±Ïºó¿ÉÒÔ¿´µ½ÔÚplatformsÎļþ¼ÐÏÂÒѾ´´½¨Á˸öiOS¹¤³Ì

ËÄ£¬¹¤³ÌµÄ±àÒë¡¢ÔËÐÐ
Ö±½Ó´ò¿ª HelloWorld.xcodeproj ¹¤³Ì¼´¿ÉÔÚXcodeÖнøÐбàÒëºÍÔËÐÐ
1£¬Ä¿Â¼½á¹¹ÈçÏÂ

2£¬Ä¿Â¼½á¹¹ËµÃ÷
¿ÉÒÔ¿´µ½ Staging Îļþ¼ÐÏÂÃæÓиö www Îļþ¼ÐºÍÒ»¸ö config.xml Îļþ£¨À¶¿ò±ê×¢µÄ£©¡£
¶øÔÚ Staging Îļþ¼ÐÍâÒ²Óиö www Îļþ¼ÐºÍÒ»¸ö config.xml Îļþ£¨ºì¿ò±ê×¢µÄ£©¡£
ºóÃæÎÒÃǽøÐпª·¢µÄʱºòͨ³£ÓÐÈçÏÂÁ½ÖÖ·½°¸£º
£¨1£©Èç¹ûÔÚXcode±àÒëÔËÐеϰ£¬Ê¹ÓõÄÊÇ Staging ÏÂÃæµÄhtmlÒ³Ãæ¡£ËùÒÔÎÒÃÇ¿ÉÒÔ°ÑÍâÃæµÄwwwÎļþ¼ÐºÍconfig.xml´Ó¹¤³ÌÖÐÒÆ³ý£¨ÉÏͼºì¿ò±ê×¢µÄ£©£¬Ö»±à¼Ê¹ÓÃStagingÎļþ¼ÐϵÄhtmlÎļþ£¬µ«²»½¨ÒéÕâô×ö¡£
ÒòΪÿ´ÎCordova±àÒëµÄʱºò£¬»òÕ߸üй¤³Ì¡¢°²×°²å¼þʱ¶¼»áÖØÐ°Ѻì¿òÀïµÄÎļþ¸²¸Çµ½¸÷¸öƽ̨ϵÄÎļþ£¨À¶¿ò±ê×¢µÄ£©¡£Í¬Ê±Ö»±à¼µ¥¸öƽ̨¹¤³ÌÎļþ¼ÐϵÄhtmlÒ³Ãæ£¬Ò²²»·ûºÏÒ»´Î±àд£¬Í¬Ê±±àÒë·¢²¼¶àƽ̨µÄ¿çƽ̨ӦÓÿª·¢Ë¼Ïë¡£
£¨2£©ËùÒÔÒ»°ãÎÒ¶¼ÊDZà¼ÍâÃæµÄ£¨ºì¿ò±ê×¢£©wwwÎļþ¼ÐÀïµÄÒ³Ãæ£¬È»ºóÔËÐÐÈçÏÂÃüÁîÖØÐ build ¹¤³Ì£¬ÕâÐ©Ò³Ãæ¾Í»á×Ô¶¯¸²¸Çµ½¸÷¸öƽ̨϶ÔӦĿ¼Ï¡£
£¨3£©È»ºó¿ÉÒÔÔÚXcodeÖбàÒëÔËÐУ¬Ò²¿ÉÒÔ²»ÓÃXcodeÖ±½ÓÔÚ¡°ÖÕ¶Ë¡±ÖÐÔËÐÐÈçÏÂÃüÁîÆô¶¯Ä£ÄâÆ÷ÔËÐУº
¿ÉÒÔÖ¸¶¨Ä£ÄâÆ÷ʹÓõÄÄ£ÄâÉ豸£º
cordova emulate
ios --target iPhone-6s
cordova emulate ios --target iPhone-6s-Plus |
3£¬ÔËÐнá¹ûÈçÏÂ

4£¬ÎÒÃÇÒ²¿ÉÒÔÆô¶¯Cordova×Ô´øµÄ·þÎñÆ÷£¬Í¨¹ýä¯ÀÀÆ÷À´·ÃÎʳÌÐòÒ³Ãæ
£¨1£©ÔËÐÐÈçÏÂÃüÁ
£¨2£©¿ÉÒÔ¿´µ½·þÎñÆô¶¯³É¹¦ÁË

£¨3£©ÔÚä¯ÀÀÆ÷Öдò¿ªÏà¹ØµØÖ· http://localhost:8000
£¨²»¹ÜÊÇ×ÀÃæä¯ÀÀÆ÷»¹ÊÇÒÆ¶¯ä¯ÀÀÆ÷¶¼ÐУ¬ÏÂÃæÊÇʹÓÃSafari£©

ÉúÃüÖÜÆÚ¡¢Ê¹ÓÃSafariµ÷ÊÔ
ÉÏÎÄÎÒÃÇ´´½¨ÁËÒ»¸ö¼òµ¥µÄCordovaÏîÄ¿£¬½á¹¹ÈçÏ£º

1£¬CordovaÉúÃüÖÜÆÚʼþ
£¨1£©deviceready £ºµ±Cordova¼ÓÔØÍê³É»á´¥·¢
£¨2£©pause£ºµ±Ó¦ÓóÌÐò½øÈëµ½ºǫ́»á´¥·¢
£¨3£©resumes£ºÓ¦ÓóÌÐò´Óºǫ́½øÈ뵽ǰ̨»á´¥·¢
ÎÒÃǽ«Ê×Ò³ index.html Ìæ»»³ÉÈçÏÂÄÚÈÝ£º
<!DOCTYPE html>
<html> <head> <title>Pause
Example</title> <meta http-equiv="Content-type"
content="text/html; charset=utf-8">
<script type="text/javascript" charset="utf-8"
src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
//Ò³Ãæ¼ÓÔØºóÌí¼Ó¸÷ʼþ¼àÌý
function onLoad() {
document.addEventListener("deviceready",
onDeviceReady, false);
document.addEventListener("resume",
onResume, false);
document.addEventListener("pause", onPause,
false);
}
//Cordova¼ÓÔØÍê±Ï
function onDeviceReady() {
alert("Cordova¼ÓÔØÍê±Ï£¡");
}
//½øÈëºǫ́
function onPause() {
console.log("Ó¦ÓýøÈëµ½ºǫ́£¡");
}
//»Ö¸´µ½Ç°Ì¨
function onResume() {
alert("Ó¦Óûص½Ç°Ì¨ÔËÐУ¡");
} </script> </head> <body
onload="onLoad()"> </body>
</html> |
³ÌÐòÆô¶¯ºó£¬Ò³Ãæ¾Í»áµ¯³öÈçÏÂÏûÏ¢¿ò£º

2£¬Ê¹ÓÃSafari½øÐе÷ÊÔ
£¨1£©ÎÒÃÇ°Ñ index.html ÀïµÄÄÚÈÝ×öÈçÏÂÐ޸ġ£
²»ÔÙʹÓà alert() ·½·¨µ¯³öµ÷ÊÔÐÅÏ¢£¬¶øÊÇʹÓà console.log()
·½·¨Êä³ö£¬ºóÃæÔÚ Safari ÖнøÐпª·¢µ÷ÊÔ¡£
<!DOCTYPE html>
<html> <head> <title>Pause
Example</title> <meta http-equiv="Content-type"
content="text/html; charset=utf-8">
<script type="text/javascript" charset="utf-8"
src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
//Ò³Ãæ¼ÓÔØºóÌí¼Ó¸÷ʼþ¼àÌý
function onLoad() {
document.addEventListener("deviceready",
onDeviceReady, false);
document.addEventListener("resume",
onResume, false);
document.addEventListener("pause", onPause,
false);
}
//Cordova¼ÓÔØÍê±Ï
function onDeviceReady() {
console.log("Cordova¼ÓÔØÍê±Ï£¡");
}
//½øÈëºǫ́
function onPause() {
console.log("Ó¦ÓýøÈëµ½ºǫ́£¡");
}
//»Ö¸´µ½Ç°Ì¨
function onResume() {
console.log("Ó¦Óûص½Ç°Ì¨ÔËÐУ¡");
} </script> </head> <body
onload="onLoad()"> </body>
</html> |
£¨2£©´ò¿ª Safari µÄ¡°Æ«ºÃÉèÖá±-> ¡°¸ß¼¶¡± -> ¡°Ôڲ˵¥À¸ÖÐÏÔʾ¿ª·¢²Ëµ¥¡±

£¨3£©ÔÚSafari²Ëµ¥Ïî¡°¿ª·¢¡± -> ¡°Simulator¡±ÖÐÑ¡Ôñ¶ÔÓ¦µÄhtmlÒ³

£¨4£©ÔÚ´ò¿ªµÄ¡°Web¼ì²éÆ÷¡± -> ¡°¿ØÖÆÌ¨¡±ÖоͿÉÒÔ¿´µ½Êä³öµÄµ÷ÊÔÐÅÏ¢¡£

|