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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
iOS 10 SiriKit QQ ÊÊÅäÏê½â
 
À´Ô´£ºÂëÅ©Íø ·¢²¼ÓÚ£º2016-11-30
  2377  次浏览      28
 

1. ¸ÅÊö

Æ»¹ûÔÚ iOS 10 ¿ª·ÅÁË SiriKit ½Ó¿Ú¸øµÚÈý·½Ó¦Óá£Ä¿Ç°£¬QQ ÒѾ­ÂÊÏÈÊÊÅäÁË Siri µÄ·¢ÏûÏ¢ºÍ´òµç»°¹¦ÄÜ¡£ÕâÒâζ×ÅÔÚ iOS 10 ÖÐÄã¿ÉÒÔÖ±½Ó¸æËß Siri ÈÃËü°ïÄã·¢ QQ ÏûÏ¢ºÍ´ò QQ µç»°ÁË£¬ÌýÆðÀ´ÊDz»ÊǺܿáìÅ£¿

ÄÇôµÚÈý·½Ó¦ÓÃʹÓà Siri µÄÌåÑ龿¾¹ÈçºÎ£¿ÄÄЩӦÓÿÉÒÔ½ÓÈë SiriKit£¿½ÓÈë SiriKit ÓÖÐèÒª×öÄÄЩ¹¤×÷ÄØ£¿ÕâÆªÎÄÕ»áΪÄãÒ»Ò»½â´ðÕâЩÒÉ»ó¡£

ͼ1 Óà Siri ·¢ QQ ÏûϢЧ¹ûչʾ

2. SiriKit ¼ò½é

ÎÒÃǶ¼ÖªµÀ Siri ÊÇ iPhone ÊÖ»úÖеÄÖÇÄÜÓïÒôÖúÊÖ£¬ÄÇôʲôÊÇ SiriKit ÄØ£¿SiriKit ÊÇÆ»¹ûΪµÚÈý·½Ó¦ÓÃÖ§³Ö Siri ÌṩµÄ¿ª·¢¿ò¼Ü¡£ÔÚ¹Ù·½ÎĵµÖУ¬SiriKit ½«¶Ô²»Í¬³¡¾°µÄÓïÒôÖ§³Ö»®·ÖΪ²»Í¬µÄ domain£¬Ä¿Ç°£¬SiriKit Ö§³ÖµÄ domain °üÀ¨£ºVoIP µç»°¡¢·¢ÏûÏ¢¡¢×ªÕË¡¢Í¼Æ¬ËÑË÷¡¢ÍøÔ¼³µ¶©³µ¡¢CarPlay ºÍ²ÍÌüÔ¤¶¨£¬Ò²¾ÍÊÇ˵Èç¹ûÄãµÄÓ¦ÓÃÖаüº¬ÓÐÕâЩ¹¦ÄÜÖ®Ò»£¬¾Í¿ÉÒÔ¿¼Âǽ«ÕâЩ¹¦ÄܽÓÈëµ½ SiriKit ÖÐÀ²¡£

ʵÏÖ SiriKit Ïà¹Ø¹¦ÄÜʱ£¬ÎÒÃDz¢²»ÐèÒªÕæÕý¶ÔÓïÒô½øÐÐʶ±ð£¬ÓïÒôµÄʶ±ð¹¤×÷»áÓÉ Siri Íê³É¡£Siri ʶ±ðÍêÓïÒôºó£¬»á½«ÓïÒôÒªÍê³ÉµÄ¹¦ÄܳéÏó³É Intent ¶ÔÏ󴫵ݸøÎÒÃÇ£¬¶øÎÒÃǵĽÓÈ빤×÷Ö÷ÒªÊÇÓëÕâЩ Intent ¶ÔÏó´ò½»µÀ£¬²¢²»»áÉæ¼°µ½×ÔÈ»ÓïÑÔ´¦Àí£¨NLP£©µÄ¼¼Êõ¡£

¹ØÓÚ SiriKit µÄ¿ª·¢ÍøÉÏÒÑÓÐһЩÎÄÕÂ(±ÈÈç¡¶SiriKit ³õ̽ ¡ª¡ª WWDC 2016 ¼¼ÊõÉÍÎö¡·)£¬Ò²¿É²Î¿¼Æ»¹ûµÄ¹Ù·½Îĵµ SiriKit Programming Guide£¬±¾ÎÄ×ÅÖØ½éÉÜ QQ µÄÊÊÅä¾­Ñé¡£

ͼ2 SiriKit Ô­Àí

3. SiriKit ½ÓÈë

ҪʵÏÖ SiriKit µÄ¹¦ÄÜÐèÒªÔÚ Xcode ¹¤³ÌÖÐÌí¼Ó Intents Extension µÄ target£¬ºÍÆäËû extension Ò»Ñù£¬Intents Extension ÊÇÒ»¸ö¶ÀÁ¢ÓÚ Containing App ½ø³ÌÔËÐеIJå¼þ£¬Ö÷ÒªÓÃÓÚ´¦ÀíºÍÈ·ÈÏÀ´×Ô Siri µÄ intent ÇëÇó¡£Èç¹ûÏëÈà Siri ÔÚ´¦Àí App Ïà¹Ø intent ʱÌṩһЩ×Ô¶¨ÒåµÄ½çÃæ£¬ÄÇôÄã¾ÍÐèÒªÔÙÌí¼Ó Intents UI Extension µÄ target£¬Intents UI Extension Ò²ÊÇÒ»¸ö¶ÀÁ¢ÔËÐеIJå¼þ£¨ËùÒÔÒªÍêÕûµÄÖ§³Ö SiriKit ÆäʵÊÇÐèÒªÌí¼ÓÁ½¸ö target£¬Óе㵰ÌÛ£©¡£¹ØÓÚ App Extension µÄ¿ª·¢¿ÉÒԲο¼Æ»¹ûµÄ App Extension Programming Guide¡£

ÎÒÃÇÒÔ QQ Öеķ¢ÏûÏ¢¹¦ÄÜΪÀý˵Ã÷һϠSiriKit µÄ½ÓÈë·½·¨£º

Ê×ÏÈ£¬ÎÒÃÇÐèÒªÔÚ Intents Extentsion µÄ info.plist ÎļþÖÐÅäÖÃÐëÖ§³ÖµÄ Siri Intents£¬ÔÚ IntentsSupported ÖмÓÈë INSendMessageIntent£¬Èç¹ûÐèÒªÔÚËøÆÁʱ½ûÓÃij¸ö¹¦ÄÜ£¬ÔòÔÙÔÚ IntentsRestrictedWhileLocked ÖмÓÈëÏàÓ¦ÏîµÄ Intent£¬Èçͼ3Ëùʾ¡£

ͼ3 Intent Extentsion info.plist ÅäÖÃ

SiriKit µÄ½ÓÈëÖ÷Òª·ÖΪ Intents Extension ºÍ Intents UI Extension Á½²¿·Ö£¬ÏÂÃæ·Ö±ð½øÐнéÉÜ¡£

Intents Extension

µ±ÎÒÃÇ¶Ô Siri ˵¡°Óà QQ ·¢ÏûÏ¢¸øÍõһȻ˵ÄãºÃ¡±Ê±£¬ÓïÒôµÄʶ±ð½«»áÓÉ Siri ×Ô¶¯Íê³É£¬Siri »á½«Ê¶±ðºÃµÄÄÚÈÝչʾÔÚ Siri µÄ½çÃæ¡£Èçͼ4Ëùʾ£¬ÎÒÃÇ¿ÉÒÔ¿´µ½Ò»¸öÍêÕûµÄ·¢ÏûÏ¢Óï¾äÖ÷ÒªÓÉËIJ¿·Ö×é³É£º

Ó¦ÓÃÃû£º¸æËß Siri ҪʹÓÃÄĸö App£¬Siri »á¸ù¾Ý App µÄ bundle displayname ×Ô¶¯Ê¶±ð App µÄÃû³Æ£¬ÎÞÐè¶îÍâ×¢²á¡£

·¢ÏûÏ¢ Intent£º¸æËß Siri ҪʹÓ÷¢ÏûÏ¢µÄ¹¦ÄÜ£¬ÎÒÃÇʵ²â·¢ÏÖ˵·¢ÐÅÏ¢Ò²ÊÇÄÜʶ±ð£¬¾ßÌ廹ÓÐÄÄЩ´Ê»ã»áʶ±ðΪ·¢ÏûÏ¢µÄ intent Æ»¹ûûÓÐÔÚÎĵµÖÐ˵Ã÷¡£

ÏûÏ¢½ÓÊÕÕߣº¸æËß Siri ÏûÏ¢µÄ½ÓÊÕÕßÊÇË­£¬¡°ÍõһȻ¡±ÊÇÎÒ QQ ºÃÓѵÄêdzơ£

ÏûÏ¢ÄÚÈÝ£º¸æËß Siri ÄãÒª·¢µÄÏûÏ¢ÄÚÈÝÊÇʲô£¬ÕâÀïµÄÏûÏ¢ÄÚÈÝΪ¡°ÎÒºÜÉúÆø¡±¡£

ͼ4 È·ÈÏ·¢ËÍÏûÏ¢½çÃæ

ÆäÖÐÓ¦ÓÃÃûºÍ Intent ÊDZØÐëµÄ£¬²»È» Siri ÎÞ·¨³éÏó³öÄãµÄ¡°Intent¡±¡£ºóÁ½ÏîÈç¹ûȱʡµÄ»°£¬ÎÒÃÇ¿ÉÒÔÔÚʵÏÖÖÐÒªÇóÓû§½øÒ»²½ÌṩÊý¾Ý»òÕߺöÂÔ¡£ÔÚʶ±ðÍê³Éºó Siri »á½«ÏûÏ¢ÄÚÈݺͽÓÊÕÕß³éÏó³ÉÒ»¸ö INSendMessageIntent ´«µÝ¸ø QQ µÄ Intent Extension¡£

ÎÒÃÇ´Óͼ4»¹¿ÉÒÔ¿´µ½ Siri ׼ȷ´ÓÎÒµÄÓïÒôÖÐʶ±ð³öÎÒ QQ ºÃÓÑÖÐêdzÆÎª¡°ÍõһȻ¡±µÄºÃÓÑ£¬È»¶ø¡°ÍõһȻ¡±²¢²»ÊÇÒ»¸öͨÓõĶÌÓÄÇôÕâÊÇÔõô×öµ½µÄÄØ£¿°ÂÃØ¾ÍÔÚÓÚÔÚ QQ ÔËÐÐʱÎÒÃǰÑËùÓÐ QQ ºÃÓѵÄêdzÆÍ¬²½µ½ÁË Siri ÔÆ¶Ë£¬ÕâÑù Siri ¾Í¿ÉÒÔʶ±ð³öÌØ¶¨Óû§ÒªÊ¹ÓõÄÌØ¶¨¶ÌÓÏêϸͬ²½·½·¨¿É²Î¿¼ INVocabulary µÄsetVocabularyStrings:ofType:·½·¨¡£

ÿ¸ö domain µÄ¹¦ÄÜÔÚ Siri Öж¼ÓжÔÓ¦µÄ Intents£¬¶øÃ¿¸ö intents ¶¼¶ÔÓ¦Ò»¸öÌØ¶¨µÄ handler ЭÒé¡£¶ÔÓÚ·¢ÏûÏ¢À´½²£¬¶ÔÓ¦µÄ Intent ºÍ handler ЭÒé·Ö±ðΪINSendMessageIntentºÍINSendMessageIntentHandling¡£Ö»ÒªÊµÏÖINSendMessageIntentHandlingЭÒéÖеÄÏà¹Ø·½·¨£¬²¢ÔÚ Siri ½âÎö³öINSendMessageIntentÇëÇóʱÓÃÎÒÃǵÄINSendMessageIntentHandling¶ÔÏóÈ¥´¦ÀíÏà¹ØµÄ·¢ÏûÏ¢ÇëÇó¡£¾ßÌåµÄÁ÷³ÌÈçͼ5£º

ͼ5 Siri ·¢ QQ ÏûÏ¢Á÷³Ì

1£©ResolveRecipientsForSendMessage

¶Ô Siri ´ÓIntentÖд«µÝ¹ýÀ´µÄ½ÓÊÕÕßÃû³Æ½øÐд¦ÀíºÍÈ·ÈÏ£¬±ÈÈç¿ÉÒÔÈ·ÈϸÃÃû³Æµ±Ç°ÊÇ·ñÔÚ QQ ºÃÓÑÁбíÖУ¬²¢½« resolution result ·´À¡¸ø Siri¡£Resolution result ´ú±íÁËÓ¦ÓÃ¶Ô intent ´¦ÀíºóµÄ½á¹û£¬¶ÔÓÚ·¢ÏûÏ¢À´Ëµ£¬±í1ÁоÙÁ˼¸ÖÖ¿ÉÄÜµÄ resolution results¡£

±í1 send resolution result

2£©ResolveContent

Óë½ÓÊÕÕߵĴ¦ÀíÀàËÆ£¬ÔÚÕâ¸ö·½·¨ÖпÉÒÔ¶Ô Siri ʶ±ð³öµÄÏûÏ¢ÄÚÈݽøÐС°ÐÞÊΡ±£¬²¢ÇÒ½« resolution result ·´À¡¸ø Siri£¬±ÈÈç QQ ¶ÔһЩÏûÏ¢ÀïÃæµÄÌØÊâ´Ê»ãÈç¡°ÉúÆø¡±×öÁË emoji ÊÊÅä¡£

3£©ConfirmSendMessage

Õâ¸ö·½·¨µÄ×÷ÓÃÊÇÈ·ÈÏÊÇ·ñÒª·¢Ë͸ÃÏûÏ¢£¬¿ÉÒÔÔÚÕâÒ»²½½øÐÐһЩ¼øÈ¨¹¤×÷£¬¼øÈ¨Í¨¹ýºóÔÙÈ·ÈÏ·¢ËÍ£¬·ñÔòÈ¡Ïû¡£È·ÈÏ¿ÉÒÔ·¢Ëͺó»áµ÷ÆðÈ·ÈÏ·¢ËͽçÃæ£¬Èçͼ4Ëùʾ¡£Èç¹ûÐèÒª´ÓContaining App¹²ÏíÊý¾Ý£¬¾ßÌåµÄʵÏÖ·½°¸²Î¿¼ App Group µÄ Shared Container¡£

4£©HandleSendMessage

Èçͼ4£¬µ±Óû§µã»÷ÁË¡°·¢ËÍ¡±°´Å¥»òÕßÓÃÓïÒô¸ø³öÁË·¢ËÍÖ¸Áîʱ»á×îÖÕ½øÈëµ½Õâ¸ö·½·¨£¬ÔÚÕâ¸ö·½·¨ÀïÎÒÃÇÐèҪʵÏÖ·¢ÏûÏ¢µÄÂß¼­£¬·¢Ëͳɹ¦ºó¿ÉÒÔµ÷ÆðÏûÏ¢·¢Ëͳɹ¦µÄ½çÃæ£¬Èçͼ6¡£

ͼ6 ÏûÏ¢·¢Ëͳɹ¦½çÃæ

Intents UI Extension

¶ÔÓÚÖ§³Ö×Ô¶¨Òå½çÃæµÄ Intent ÀàÐÍ£¬¿ÉÒÔÔÚ Intents UI Extension ÖÐÌṩ¸üÃÀ¹ÛµÄ×Ô¶¨Òå½çÃæ¡£ Custom UI µÄʵÏÖÏà¶Ô½Ï¼òµ¥£¬ºÍ iOS App µÄ¿ª·¢Ò»Ñù£¬¶¼ÊÇͨ¹ý UIViewController µÄ×ÓÀàʵÏÖ¡£ÎÒÃÇÐèÒªÔÚ Intents UI Extension µÄ info.plist ÎļþÖÐÉèÖà initial viewcontroller »òÕßÉèÖà main storyboard£¬¶ÔÓÚ²»Í¬ÀàÐ굀 Intent µÄ½çÃæÕ¹Ê¾£¬Í¨¹ý Child Viewcontrollers µÄ·½Ê½ÊµÏÖ²îÒ컯½çÃæÕ¹Ê¾¡£

Èçͼ7Ëùʾ£¬µ±½ÓÊÕµ½À´×Ô Intents Extension µÄ response ʱ£¬ÏµÍ³»á»½Æð Intents UI Extension ²¢¼ÓÔØ initial viewcontroller£¬Í¨¹ýINUIHostedViewSiriProvidingЭÒéµÄconfigureWithInteraction:context:completion:·½·¨¿ÉÒÔ»ñÈ¡ intent£¬±ÈÈçÔÚ·¢ÏûÏ¢¹¦ÄÜÖУ¬ÔÚÏûϢȷÈÏ·¢Ëͺͷ¢Ëͳɹ¦ºó¶¼»á»Øµ÷Ò»´ÎÕâ¸ö·½·¨¡£¸ù¾Ý Intent ¶ÔÏóµÄÀàÐͺÍ״̬£¬ÔÚÊÕµ½Ïà¹Ø Intent µÄ»Øµ÷ʱ present ¶ÔÓ¦µÄ Child Viewcontroller ¼´¿ÉʵÏÖ¶¨ÖÆ»¯µÄ½çÃæÕ¹Ê¾¡£

ÕâÀïÐèҪעÒâµÄÊÇ£¬Intents UI Extension µÄ½ø³Ì²¢²»»áÔÚ½çÃæÏú»Ùºó¾ÍÍ˳ö£¬ºÜ¿ÉÄÜÖ»ÊÇÔÚºǫ́´¦ÓÚÐÝÃß״̬£¬Ï´Πresponse µ½À´Ê±ÔÙ±»»½ÐÑ¡£

ͼ7 Life cycle of an Intents UI extension

4. ×ܽá

×ܵÄÀ´ËµËäȻƻ¹ûÕâÒ»´Î¶Ô SiriKit ¿ª·ÅµÄ³¡¾°ÓÐÏÞ£¬µ«ÊÇ´ÓÎÒÃǵÄÊÊÅä¾­ÀúÀ´¿´Æ»¹û¶Ô Siri »¹ÊǷdz£ÖØÊӵġ£ÁíÍ⣬ÕâÊÇ SiriKit Ê״ζԵÚÈý·½Ó¦Óÿª·Å½Ó¿Ú£¬ËùÒÔ²»¿É±ÜÃâ´æÔÚһЩÎÊÌâ¡£ÎÒÃÇÔÚ¿ª·¢¹ý³ÌÖÐҲȷʵÓöµ½ÁËһЩ SiriKit ±¾ÉíµÄ Bug£¬´ó²¿·Ö Bug ÔÚÏòÆ»¹û·´À¡ºó¶¼µÃµ½Á˽â¾ö£¬µ«ÊÇÔÚÓïÑÔʶ±ð·½Ãæ Siri ÒÀÈ»´æÔÚһЩȱÏÝ£¬±ÈÈç¶ÔÖÐÓ¢ÎÄ»ìºÏµÄ³¡¾°Ê¶±ðÒÀ¾É²»Ì«ºÃ¡£ÆÚ´ýÒÔºó Siri ¶ÔÖÐÎĵÄÖ§³ÖÔ½À´Ô½ºÃ£¬Ò²Ï£Íû Siri Äܹ»¿ª·Å¸ü¶àµÄ³¡¾°¸øµÚÈý·½Ó¦ÓÃÊÊÅä¡£

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

ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖÓë̽ÌÖ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
 
Ïà¹ØÎĵµ

Android_UI¹Ù·½Éè¼Æ½Ì³Ì
ÊÖ»ú¿ª·¢Æ½Ì¨½éÉÜ
androidÅÄÕÕ¼°ÉÏ´«¹¦ÄÜ
Android½²ÒåÖÇÄÜÊÖ»ú¿ª·¢
Ïà¹Ø¿Î³Ì

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
Androidϵͳ¿ª·¢
AndroidÓ¦Óÿª·¢
ÊÖ»úÈí¼þ²âÊÔ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

androidÈË»ú½çÃæÖ¸ÄÏ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
AndroidÊÖ»ú¿ª·¢£¨¶þ£©
AndroidÊÖ»ú¿ª·¢£¨Èý£©
AndroidÊÖ»ú¿ª·¢£¨ËÄ£©
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖ̽ÌÖ
ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
ÊÖ»úÈí¼þ×Ô¶¯»¯²âÊÔÑо¿±¨¸æ


Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
AndroidÓ¦Óÿª·¢
Androidϵͳ¿ª·¢
ÊÖ»úÈí¼þ²âÊÔ
ǶÈëʽÈí¼þ²âÊÔ
AndroidÈí¡¢Ó²¡¢ÔÆÕûºÏ


ÁìÏÈIT¹«Ë¾ android¿ª·¢Æ½Ì¨×î¼Ñʵ¼ù
±±¾© Android¿ª·¢¼¼Êõ½ø½×
ijÐÂÄÜÔ´ÁìÓòÆóÒµ Android¿ª·¢¼¼Êõ
ijº½Ì칫˾ Android¡¢IOSÓ¦ÓÃÈí¼þ¿ª·¢
°¢¶û¿¨ÌØ LinuxÄÚºËÇý¶¯
°¬Ä¬Éú ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
Î÷ÃÅ×Ó Ç¶Èëʽ¼Ü¹¹Éè¼Æ