Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Ä¢¹½½Ö App µÄ×é¼þ»¯Ö®Â·
 
  1545  次浏览      28
 2018-3-30
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚcsdn,ÎÄÕÂÖ÷Òª·ÖÏíÁËcasatwy µÄһЩ˼·ºÍ˼¿¼ÎÊÌâµÄ½Ç¶È£¬Ï£Íû¶ÔÄúµÄѧϰÓаïÖú¡£

ͳһµÄµ÷ÓÃʵÏÖ

½«¡¸URL µ÷ÓṺ͡¸×é¼þ¼äµ÷Óá¹Í¨¹ý runtime ´ïµ½Í³Ò»£¬Í¨¹ý prefix µÄ·½Ê½À´±ÜÃⰲȫÉϵÄһЩ©¶´¡£¿´ÆðÀ´È·Êµ»áÊæ·þЩ£¬Ò²±È½ÏÁé»î¡£

ͨ¹ý Category À´Í³Ò»×é¼þ¶ÔÍⱩ¶µÄ½Ó¿Ú

Ö§³Ö openURL: µ«×îÖÕ»¹ÊÇ×ßµÄ target-action£¬¸úÄÚ²¿µ÷ÓÃÎÞ²î±ð¡£ ÕâÒ²ÊÇÎÒÃÇĿǰÓдýÌáÉýµÄµã£¬ÏëÖªµÀij¸ö×é¼þÖ§³ÖÄÄЩ URL »ò ÄÄЩ Protocol ²»¹»·½±ã£¬URL µÄ²ÎÊý´«µÝÒ²ÊǸöÎÊÌ⣬½«À´ URL ·¢Éú±ä¶¯µÄ»°£¬µ÷ÕûÆðÀ´Ò²±È½ÏÂé·³¡£ºóÐø»áÔÚÕâ¿éÔÙ¼Óǿϡ£

µ±³õ¾ö¶¨Ê¹Óà openURL: À´×öÒ³Ãæ¼äµÄÌø×ª£¬¶ø²»ÊÇ·½·¨µ÷Óã¬Ö÷ÒªÊÇ¿¼Âǵ½ÎÒÃǵĴ󲿷ֳ¡¾°¶¼¿ÉÒÔͨ¹ýÕâÖÖ·½Ê½½â¾ö£¬Òò´Ë¾ÍÕâô¶¨ÁË¡£openURL: ¸üÏñ Android ÀïµÄ ¡¸Òþʽ Intent¡¹£¬²»¹ØÐÄË­À´´¦ÀíÕâ¸ö URL£¬ÓÉϵͳ£¨MGJRouter£©À´¾ö¶¨¡£¶ø·½·¨µ÷ÓøüÏñ¡¸ÏÔʽ Intent¡¹»òÕß RPC£¬Ã÷È·µØÖªµÀÓ¦¸ÃÓÉË­À´´¦Àí¡£Ç°Õߵĺô¦ÊÇ¿ÉÒÔ¸üÉٵعØÐÄÒµÎñÂß¼­£¬ºóÕߵĺô¦ÊÇ¿ÉÒԺܷ½±ãµØÍê³É²ÎÊý´«µÝ¡£

¸üÃ÷È·µÄ±íÊö

1.openURL Ö»ÊÇÒ³Ãæ¼äµÄµ÷Ó÷½Ê½

2.×é¼þ¼äµÄµ÷ÓÃͨ¹ý protocol À´ÊµÏÖ

ÿ¸ö×é¼þ¶¼ÓÐÒ»¸ö Entry£¬Õâ¸ö Entry£¬Ö÷Òª×öÁËÈý¼þÊÂ

1.×¢²áÕâ¸ö×é¼þ¹ØÐÄµÄ URL

2.×¢²áÕâ¸ö×é¼þÄܹ»±»µ÷Óõķ½·¨/ÊôÐÔ

3.ÔÚ App ÉúÃüÖÜÆÚµÄ²»Í¬½×¶Î×ö²»Í¬µÄÏìÓ¦

×¢²áÕâ¸ö×é¼þ¹ØÐÄµÄ URL

[MGJRouter registerURLPattern:@"mgj://detail?id=:id" toHandler:^(NSDictionary *routerParameters) {
NSNumber *id = routerParameters[@"id"];
// create view controller with id
// push view controller
}];

URL µÄ×¢²á»áÓжÔÓ¦µÄ block£¬Äõ½Õâ¸ö URL ºó£¬ÏëÔõôÕÛÌÚ¾ÍÔõôÕÛÌÚ¡£

×¢²áÕâ¸ö×é¼þÄܹ»±»µ÷Óõķ½·¨/ÊôÐÔ

µ±ÓÐһЩ³¡¾°²»ÊʺÏÓà URL µÄ·½Ê½Ê±£¬¾Í¿ÉÒÔͨ¹ý×¢²á protocol À´ÊµÏÖ

[ModuleManager registerClass:ClassA forProtocol:ProtocolA] µÄ½á¹û¾ÍÊÇÔÚ MM ÄÚ²¿Î¬»¤µÄ dict ÀïмÓÁËÒ»¸öÓ³Éä¹ØÏµ¡£

[ModuleManager classForProtocol:ProtocolA] µÄ·µ»Ø½á¹û¾ÍÊÇ֮ǰÔÚ MM ÄÚ²¿ dict Àï protocol ¶ÔÓ¦µÄ class£¬Ê¹Ó÷½²»ÐèÒª¹ØÐÄÕâ¸ö class ÊǸöʲô¶«¶«£¬·´ÕýʵÏÖÁË ProtocolA ЭÒ飬ÄÃÀ´ÓþÍÐС£

ÕâÀïÐèÒªÓÐÒ»¸ö¹«¹²µÄµØ·½À´ÈÝÄÉÕâЩ public protocl£¬Ò²¾ÍÊÇͼÖÐµÄ PublicProtocl.h

ÔÚ App ÉúÃüÖÜÆÚµÄ²»Í¬½×¶Î×ö²»Í¬µÄÏìÓ¦

ÉÏһƪÎÄÕÂÖÐÓÐÌáµ½£¬ÕâÀï¼òµ¥ËµÏ£¬ModuleEntry£¬ÊµÏÖij¸öÌØ¶¨µÄЭÒé(¸ÃЭÒé¼Ì³Ð×ÔUIApplicationDelegate )£¬È»ºóʵÏÖ¶ÔÓ¦µÄ·½·¨¼´¿É¡£

Õë¶ÔcasatwyÄÇÆªÎÄÕµÄһЩ»ØÓ¦

µ¥´¿ÒÔopenURLµÄ·½Ê½ÊÇÎÞ·¨Ê¤ÈÎÈÃÒ»¸öAppȥʵʩ×é¼þ»¯¼Ü¹¹µÄ

ͬÒ⣬ËùÒÔÎÒÃDz¢²»Ö»ÓÐ openURL Ò»ÖÖ·½Ê½

¸ù±¾ÎÞ·¨±í´ï·Ç³£¹æ¶ÔÏó

µ¥´¿µØÍ¨¹ý openURL ȷʵ²»Ì«ºÃ±í´ï£¬µ«ÎÒÃDz¢²»Ö»ÓÐ openURL Ò»ÖÖ·½Ê½

×¢²áURLµÄÄ¿µÄÆäʵÊÇÒ»¸ö·þÎñ·¢ÏֵĹý³Ì£¬ÔÚiOSÁìÓòÖУ¬·þÎñ·¢Ïֵķ½Ê½ÊDz»ÐèҪͨ¹ýÖ÷¶¯×¢²áµÄ£¬Ê¹ÓÃruntime¾Í¿ÉÒÔÁË¡£ÁíÍ⣬ע²á²¿·ÖµÄ´úÂëµÄά»¤ÊÇÒ»¸öÏà¶ÔÂé·³µÄÊÂÇ飬ÿһ´ÎÖ§³Öе÷ÓÃʱ£¬¶¼ÒªÈ¥Î¬»¤Ò»´Î×¢²áÁÐ±í¡£Èç¹ûÓе÷Óñ»ÆúÓÃÁË£¬ÊǾ­³£»áÍü¼ÇɾÏîÄ¿µÄ¡£runtimeÓÉÓÚ²»´æÔÚ×¢²á¹ý³Ì£¬ÄǾÍÒ²²»»á²úÉúά»¤µÄ²Ù×÷£¬Î¬»¤³É±¾¾Í½µµÍÁË¡£

ÓÉÓÚͨ¹ýruntime×öµ½ÁË·þÎñµÄ×Ô¶¯·¢ÏÖ£¬ÍØÕ¹µ÷ÓýӿڵÄÈÎÎñ¾Í½öÔÚÓÚ¸÷×ÔµÄÄ£¿é£¬ÈκÎÒ»´ÎнӿÚÌí¼Ó£¬ÐÂÒµÎñÌí¼Ó£¬¶¼²»±ØÈ¥Ö÷¹¤³Ì×ö²Ù×÷£¬Ê®·Ö͸Ã÷¡£

¾¡¹Üͨ¹ý runtime ¿ÉÒÔ×öµ½ÕâЩ£¬µ«×îÖÕ»¹ÊÇҪͨ¹ýά»¤ Category À´±©Â¶ÐÂÔöµÄ Target-Action£¬ËùÒÔ runtime ËäÈ»²»´æÔÚ×¢²á¹ý³Ì£¬µ«Êµ¼ÊʹÓùý³ÌÖУ¬»¹ÊÇ»áÓÐ×¢²á¹ý³Ì£¬»¹ÊÇÐèҪȥά»¤¡£

ûÓвð·ÖÔ¶³Ìµ÷Óúͱ¾µØ¼äµ÷ÓÃ

´ÓÉÏÃæµÄͼ¿ÉÒÔ¿´µ½£¬ÎÒÃÇÆäʵÊÇ·ÖΪ¡¸×é¼þ¼äµ÷ÓṺ͡¸Ò³Ãæ¼äÌø×ª¡¹Á½¸öά¶È£¬Ö»Òª app ÏìӦij¸ö URL£¬ÎÞÂÛÊÇ app ÄÚ»¹ÊÇ app Íâ¶¼¿ÉÒÔ£¬¶ø¡¸×é¼þ¼ä¡¹µ÷ÓÃ×ßµÄÍêÈ«ÊÇÁíÒ»Ìõ·£¬ËùÒÔÒ²²»»áÓа²È«ÉϵÄÎÊÌâ¡£

ÒÔÔ¶³Ìµ÷Óõķ½Ê½Îª±¾µØ¼äµ÷ÓÃÌṩ·þÎñ

ͬÉÏ

±¾µØ¼äµ÷ÓÃÎÞ·¨´«µÝ·Ç³£¹æ²ÎÊý£¬¸´ÔÓ²ÎÊýµÄ´«µÝ·½Ê½·Ç³£³óª

ͬÉÏ£¬Ê¹Óà Protocol

±ØÐëÒªÔÚ app Æô¶¯Ê±×¢²á URL ÏìÓ¦Õß

Êǵ쬾ÍÄ¢¹½½ÖµÄ·½°¸À´Ëµ£¬Õâ²½²»¿É±ÜÃâ¡£

Õâ¸ö²»±ØÒªµÄ²Ù×÷»áµ¼Ö²»±ØÒªµÄά»¤³É±¾

ά»¤Ö»ÊÇÔÚ×é¼þÄÚ²¿×öµ÷Õû£¬²¢²»ÐèÒªÔÚÖ÷¹¤³ÌÀï×öÐ޸ġ£Èç¹û²ÉÓà Category µÄ·½Ê½£¬ºÃ´¦ÊDz»ÓÃÔÚÆô¶¯Ê±×¢²á£¬µ«µ±×é¼þµÄ½Ó¿ÚÓб䶯ʱ£¬ÒÀȻҪά»¤ Category£¬Õâ¸ö³É±¾ÊÇÃâ²»Á˵ġ£

ÐÂÔö×é¼þ»¯µÄµ÷Ó÷¾¶Ê±£¬Ä¢¹½½ÖµÄ²Ù×÷Ïà¶Ô¸´ÔÓ ÔÚ±¾Îĸø³öµÄ×é¼þ»¯·½°¸ÖУ¬ÏìÓ¦ÕßΨһҪ×öµÄÊÂÇé¾ÍÊÇÌṩTargetºÍAction£¬²¢²»ÐèÒªÔÙ×öÆäËüµÄÊÂÇé

ÌṩÁË Target-Action Ö®ºó£¬»¹ÊÇÒªÔÚ Category ÀïÌí¼ÓÒ»¸ö wrapper µÄ°É?

ûÓÐÕë¶Ô target ²ã×ö·â×° ÕâÖÖ×ö·¨Ê¹µÃËùÓеĿç×é¼þµ÷ÓÃÇëÇóÖ±½Óhitµ½ÒµÎñÄ£¿é£¬ÒµÎñÄ£¿é±ØÈ»Òò´Ë±äµÃÓ·Ö×ÄÑÒÔά»¤£¬ÊôÓÚÇÖÈëʽ¼Ü¹¹¡£Ó¦¸Ã½«Ô­±¾ÊôÓÚµ÷ÓÃÏàÓ¦µÄ²¿·ÖÄóöÀ´·ÅÔÚtarget-actionÖУ¬²ÅÄܾ¡¿ÉÄܱ£Ö¤²»½«Î޹شúÂëÇÖÈëµ½Ô­ÓÐÒµÎñ×é¼þÖУ¬²ÅÄܱ£Ö¤ÒµÎñ×é¼þδÀ´µÄÇ¨ÒÆºÍÐ޸IJ»ÊÜ×é¼þµ÷ÓõÄÓ°Ï죬ÒÔ¼°½µµÍΪÏîÄ¿µÄ×é¼þ»¯ÊµÊ©¶ø´øÀ´µÄʱ¼ä³É±¾¡£

¡¸½«Ô­±¾ÊôÓÚµ÷ÓÃÏàÓ¦µÄ²¿·ÖÄóöÀ´·ÅÔÚtarget-actionÖС¹²¢²»ÊÇΨһ¿ÉÐеķ½Ê½£¬Ê¹Óà Protocol/URL ×¢²áÒ²¿ÉÒԴﵽЧ¹û¡£

С½á

casatwy µÄһЩ˼·ºÍ˼¿¼ÎÊÌâµÄ½Ç¶Èͦ²»´íµÄ£¬Ò²´ÓËûµÄÎÄÕÂÖÐÊÕ»ñÁ˲»ÉÙ£¬Ï£ÍûÕâÆªÎÄÕÂÄܰÑ֮ǰģºýµÄһЩ¹ÛÄî˵µÃ×ã¹»Çå³þ£¬»¹ÓÐÎÊÌâµÄ»°»¶Ó­¼ÌÐø½»Á÷£º£©

   
1545 ´Îä¯ÀÀ       28
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì