ãã®ãããæ£èŠè¡šçŸã䜿çšããŠé»è©±çªå·ããã£ããã£ããŠæ€èšŒããŸãã ã©ããã話ãããã®ã§ããããïŒ èª°ãèªåèªèº«ã®æžãæ¹ãç¥ã£ãŠããã®ãããããŠèª°ãWorld Wide Webã®åºå€§ãã«æ£ãã°ã£ãŠããå€ãã®æ¢æã®ãœãªã¥ãŒã·ã§ã³ã®1ã€ãã³ããŒããã®ãç¥ããªãã®ã§ãã å¯äžã®è³ªåã¯ã圌ãäœãæžãã®ããäœãã³ããŒããã®ãããããŠãã®ã³ãŒãã¯çŸåšã®åœéåºæºãæ¥çåºæºãäŒæ¥åºæºã ãã§ãªããã¿ã¹ã¯ã»ããã«ã©ã®çšåºŠå¯Ÿå¿ããã®ããšããããšã§ãã æãåçŽãªãœãªã¥ãŒã·ã§ã³ã§ãã£ãŠããéçºè ãèªåã®äœæ¥ãååã«èªèããŠãããäœæ¥ã«çµ¶å¯Ÿã«èªä¿¡ãããå Žåã«ã®ã¿ãé©åãªãœãªã¥ãŒã·ã§ã³ã§ãã
æãåçŽãªãœãªã¥ãŒã·ã§ã³ã§ãã£ãŠããéçºè ãèªåã®äœæ¥ãååã«èªèããŠãããäœæ¥ã«çµ¶å¯Ÿã«èªä¿¡ãããå Žåã«ã®ã¿ãé©åãªãœãªã¥ãŒã·ã§ã³ã§ãã
å®éãèšäºã®ãããã¯ã¯ãã§ã«ã¿ã€ãã«èªäœã«2ã€ã«åãããŠããŸãã ãã£ããã£ãšã¯ããã¹ã察象ã®æ°åãšèšå·ã®ã»ãããé»è©±çªå·ã«ãªãå¯èœæ§ãããããšãç解ããæ©èœã§ãã ãããŠãæ€èšŒã¯ããã®ã»ãããç¹å®ã®äºåèšå®æ¡ä»¶ãæºãããŠãããã©ããã®ãã§ãã¯ã§ãã äžèšã®äŸãèŠããšããããã®ã¿ã¹ã¯ãç°ãªãããšãç°¡åã«ç¢ºèªã§ããŸãã
+ 1ïŒ408ïŒ-996-10-10 = 1234 +14089961010; ext = 1234
æåã®ã±ãŒã¹ã§ã¯ãã ãããæ £ã芪ããã æ¹æ³ã§é»è©±ãé²é³ããããšãã2çªç®ã®ã±ãŒã¹ã§ã¯ãé»è©±ã¯åœéæšæºRFC 3966ã«åŸã£ãŠé²é³ãããŸããã åé¡ã¯ããããã®ãšã³ããªã®äž¡æ¹ã䜿çšããŠãããšãã°iOSã¢ããªã±ãŒã·ã§ã³ã§é»è©±çªå·ããã€ã€ã«ããããšãããšãæ®å¿µãªãããäœãåŸãããªãããšã§ãã åè ã®å Žåãã·ã¹ãã ã¯ãŸã£ããäœãç解ããŸãããåŸè ã®å Žåãå ç·çªå·ã1234ãã®ä»£ããã«ãã·ã¹ãã ã¯å®å šã«ç°ãªãçªå·ããã€ã€ã«ããŸãïŒããã¯éåžžã«èª¬åŸåã®ããå®éšã§ããè©ŠããŠã¿ãŠãã ãããã³ãŒãã¯ä»¥äžã«ç€ºããŸãïŒã
iOSã¢ããªã±ãŒã·ã§ã³ããã®é»è©±ã®ç°¡åãªã³ãŒãã
NSString *telString =@"tel:+14089961010;ext=1234"; NSURL *urlString = [NSURL URLWithString: telString ]; [[UIApplication sharedApplication] openURL:urlString];
åºæ¬çã«ãäž¡æ¹ã®ã¿ã¹ã¯ïŒãã£ããã£ãŒãšæ€èšŒïŒã¯åãæ¹æ³ã§è§£æ±ºãããŸãããé©çšãããæ£èŠè¡šçŸã®ã¿ãéããŸãã
æåã®ã¹ãããã¯ããã®åé¡ã管çããRFC 3966ã§æžãããŠããããšã確èªããããšã§ãã ãããŠã以äžã¯éåžžã«åçŽåããã圢åŒã§æžãããŠããŸãïŒ
RFC 3966ã«æºæ ããç°¡æé»è©±URIæ§é
telephone-uri = "telïŒ"é»è©±å å ¥è
é»è©±å å ¥è =ã°ããŒãã«çªå· ã°ããŒãã«çªå·=ã°ããŒãã«çªå·æ¡*ã㌠par =æ¡åŒµ| isdn-subaddress | ãã©ã¡ãŒã¿ isdn-subaddress = "; isub =" 1 * uric extension = "; ext =" 1 * phonedigit global-number-digits = "+" * phonedigit DIGIT * phonedigit ãã©ã¡ãŒã¿= ";" pname ["=" pvalue] pname = 1 *ïŒalphanum | "-"ïŒ pvalue = 1 * paramchar paramchar = param-unreserved | äºçŽãªã| pctãšã³ã³ãŒã æªäºçŽ= alphanum | ããŒã¯ ããŒã¯= "-" | ã_ã| ããã | ãïŒã | ããã| ã*ãã 'ã| ãïŒã|ãïŒã param-unreserved = "[" | ã]ã| ã/ã| ãïŒã| ãïŒã| ã+ã| ã$ã phonedigit = DIGIT | [ããžã¥ã¢ã«ã»ãã¬ãŒã¿ãŒ] visual-separator = "-" | ããã | ãïŒã|ãïŒã alphanum = ALPHA | æ¡ äºçŽæžã¿= ";" | ã/ã| ãïŒã | ãïŒã| ã@ã| ãïŒã| "=" | ã+ã| ã$ã| ããã uric =äºçŽæžã¿| äºçŽãªã
ããã§ãALPHAããã³DIGITã¯ãå¥ã®ããã¥ã¡ã³ããã次ã®ããã«RFC 2396ã§ãã
DIGIT = "0" | ã1ã| ã2ã| ã3ã| ã4ã| ã5ã| ã6ã| ã7ã| ã8ã| ã9ã ALPHA = lowalpha | ã¢ããã¢ã«ãã¡ lowalpha = "a" | ãbã| ãcã| ãdã| ãeã| ãfã| ãgã| ãhã| ãiã| ãjã| ãkã| ãlã| ãmã| ãnã| ãoã| ãpã| ãqã| ãrã| ãsã| ãtã| ãuã| ãvã| ãwã| ãxã| ãyã| ãzã upalpha = "A" | ãBã| ãCã| ãDã| ãEã| ãFã| ãGã| ãHã| ãç§ã| ãJã| ãKã| ãLã| ãMã| ãNã| ãOã| ãPã| ãQã| ãRã| ãSã| ãTã| ãUã| ãVã| ãWã| ãXã| ãYã| ãZã
åè·¯å³ã®é»è©±URIã¯ã次ã®ããã«è¡šãããšãã§ããŸãã
å³ 1telephone-uri = [ ]
RFC 3966ããã次ã®ããã«ãªããŸãã
é©åãªé»è©±çªå·= global-number-digits
ãªãã·ã§ã³ã®è¿œå =æ¡åŒµ| isdn-subaddress | ãã©ã¡ãŒã¿
ããã§ïŒ
å ç·-å ç·é»è©±çªå·
isdn-subaddress-ISDNãµãã¢ãã¬ã¹
ãã©ã¡ãŒã¿ãŒ-ãã®ä»ã®ãªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãŒ
å®éã«ã¯ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãç¹ã«iOSã¢ããªã±ãŒã·ã§ã³ãããã³ã»ãšãã©ã®ãµã€ãã§äœæ¥ããå Žåãå ç·é»è©±çªå·ã®ã¿ããããããtelephone-uriã¹ããŒã ã¯æ¬¡ã®ããã«å€æãããŸãã
å³ 2telephone-uri = global-number-digits [extension]
ãŸãã¯ãglobal-number-digitsããã³extensionã«é©åãªå€ãä»£å ¥ããŸãã
å³ 3telephone-uri = "+" *phonedigit DIGIT *phonedigit [";ext=" 1*phonedigit]
ããã§ãphonedigitã¯æ°åã[0-9]ããšèŠèŠçãªåºåãæåã®éãããç¯å²ã§æ§æãããŸã
ã-ã| ããã | ãïŒã|ãïŒã
ããã§ã¯ããã®ããã«æãããŸããããã®ã¹ããŒã ãå®è£ ããæ£èŠè¡šçŸã®æ€èšã«é²ãããšãã§ããŸãã ããã...å€ãã®èè ã¯ãæ°åã®ãã¹ãŠã®ã»ããã«é»è©±çªå·ãããããã§ã¯ãªãããšãæ£ããææããŠããŸãã é»è©±çªå·ã®æ§é ãå®çŸ©ããäžè¬çã«åãå ¥ããããŠããåœéæ £è¡ããããŸãã ã¯ãããããŸããå®éã«ç°¡åã«æ€èšããŸãã
åœéé»è©±çªå·ã®æ§é
æ¢åã®æ £è¡ã«åŸã£ãŠã次ã®ã°ã«ãŒããåºå¥ã§ããŸãããããã®ã°ã«ãŒãã¯ãäžç·ã«ã°ããŒãã«çªå·æ¡ã®é»è©±çªå·ãæ§æããŸãã
ã°ããŒãã«çªå·
ã+ã-åœéåœã³ãŒããç¹å®ãããåŸã瀺ãèšå·
country_code-1ã3æ¡ã®åœã³ãŒããäŸïŒ7ã44ãŸãã¯374
area_code-3æ¡ã®å°åã³ãŒããäŸïŒ800
exchange-3æ¡ã®ã¹ããŒã·ã§ã³çªå·ãäŸïŒ555
subscriber_number-4æ¡ã®ãµãã¹ã¯ã©ã€ããŒçªå·ãäŸïŒ1234
延é·
extension-å ç·çªå·ãäŸïŒ5678ïŒãªãã·ã§ã³èŠçŽ ïŒ
ãã®å Žåãé»è©±çªå·ã®æ§é ã¯æ¬¡ã®ããã«ãªããŸãã
å³ 4telephonNumber = "+" country_code [visual-separator] area_code [visual-separator] exchange [visual-separator] subscriber_number [visual-separator] [";ext=" extension]
ãããã£ãŠãRFC 3966æšæºãšé»è©±çªå·ã®åœéæ§é ãèæ ®ããæ£èŠè¡šçŸãå®è£ ãããšãèšãæãããšãå³ã«ç€ºãã¹ããŒã ã«å¯Ÿå¿ããŸãã 3ããã³å³ 4ã次ã®é»è©±çªå·ã®ãšã³ããªã¯å®å šã«æå¹ã§ãã
+14089961010; ext = 1234 +1ïŒ408ïŒ996-1010; ext = 1234 + 1-408-996-10-10; ext = 1234 +1.408.996.1010; ext = 1234
以äžã¯ãèŠèŠçãªåºåãèšå·ãåœéé»è©±çªå·æšæºã§å®çŸ©ãããŠããæ§é ã®å€åŽã«ãããããRFC 3966æšæºã«åºã¥ããŠã®ã¿æå¹ã§ãã
+1ïŒ4089ïŒ96-1010; ext = 1234 + 1-408996-10-10; ext = 1234 +1.408996.1010; ext = 1234
å®éã«ã¯ããŠãŒã¶ãŒã¯ãã¢ããªã±ãŒã·ã§ã³ãŸãã¯Webãµã€ãã§æå®ããããã³ãã¬ãŒãã«åŸã£ãŠããŸãã¯é©åãšæãããïŒã€ãŸãã奜ã¿ã«å¿ããŠïŒé»è©±çªå·ããã€ã€ã«ã§ããŸãã ãããŠãã¢ããªã±ãŒã·ã§ã³ã¯ãåä¿¡ããæååããã®äžã«å®ããããæšæºã«åŸã£ãŠåŠçããŸãã åžžã«äžèŽãããšã¯éããŸããã
å®éã«ã¯ããŠãŒã¶ãŒã¯ãã¢ããªã±ãŒã·ã§ã³ãŸãã¯Webãµã€ãã§æå®ããããã³ãã¬ãŒãã«åŸã£ãŠããŸãã¯é©åãšæãããïŒã€ãŸãã奜ã¿ã«å¿ããŠïŒé»è©±çªå·ããã€ã€ã«ã§ããŸãã ãããŠãã¢ããªã±ãŒã·ã§ã³ã¯ãåä¿¡ããæååããã®äžã«å®ããããæšæºã«åŸã£ãŠåŠçããŸãã åžžã«äžèŽãããšã¯éããŸããã
äŒæ¥ã®WEBãã€ã€ã«æšæº
ãªããŠã§ãïŒ iOSãããã³ä»ã®ã»ãšãã©ãã¹ãŠã®ã·ã¹ãã ããããŠãã¡ããWebãµã€ãã§ã¯ãé»è©±ããããæãç°¡åãªæ¹æ³ã¯ãããç¥ãããŠããhtmlã¹ããŒã ã䜿çšããããšã§ãã
<a href="tel:1-408-996-1010">1-408-996-1010</a>
å³ 5
èšäºã®åé ã§ãObjective-Cã§ãã®ã¹ããŒã ãå®è£ ããããã®ã³ãŒãã®äŸãæ¢ã«æäŸãããŠããŸãããäžè²«æ§ãä¿ã€ããã«ãç¹°ãè¿ã䟡å€ããããŸãã
NSString *telString =@"tel:+14089961010"; NSURL *urlString = [NSURL URLWithString: telString ]; [[UIApplication sharedApplication] openURL:urlString];
å³ 6
äŒæ¥æšæºã«é²ã¿ãŸãããã
Googleã®å°é家ã¯ããã«ã€ããŠäœãšèšã£ãŠããŸããïŒ
é»è©±çªå·ã¯åžžã«åœéãã€ã€ã«åœ¢åŒïŒãã©ã¹èšå·ïŒ+ïŒãåœã³ãŒããåžå€å±çªãããã³çªå·ïŒã䜿çšããŠæäŸããŠãã ããã 絶察ã«å¿ èŠãšããããã§ã¯ãããŸããããèªã¿ããããèªåæ€åºãåäžãããããã«ãæ°åã®åã»ã°ã¡ã³ãããã€ãã³ïŒ-ïŒã§åºåãããšããå§ãããŸãã
ã€ãŸããåœçªå·ã®åã«ã+ãèšå·ãé 眮ãããè¯ãã¢ã€ãã¢ãããããŸãããé»è©±çªå·ã®ã»ã°ã¡ã³ãïŒã°ã«ãŒãïŒããã€ãã³ã-ãã®åœ¢åŒã®èŠèŠçãªåºåãèšå·ã§åºåãå¿ èŠããããŸãã ããã¯ãäžè¬ã«ãRFC 3966ããã³åœéé»è©±çªå·æ§é ãšéåžžã«äžè²«ããŠããŸããã€ãŸããå³1ã«ç€ºãããŠããã¹ããŒã ã«å¯Ÿå¿ããŠããŸãã 3ããã³å³ 4.ãã ããéèŠãªBUTã1ã€ãããŸãã èŠèŠçãªåºåãæåã¯1æåããã€ãã³ã-ãã«å¶éãããŠããŸãã ããã¯ãã¡ããããã©ãŠã¶ãèŠèŠçãªåºåããšããŠæ¬åŒ§ããããã«äžé©åã«å¿çããããšãæå³ãããã®ã§ã¯ãããŸããããããã«ã¯æ éãªæ€èšŒãå¿ èŠã§ããGoogleããã¥ã¡ã³ãã¯ãã€ãã³ã®ã¿ãä¿èšŒããŸãã ããã«ãããã¥ã¢ã«ã®ãã®ã»ã¯ã·ã§ã³ã§ã¯ãæ¡åŒµåœ¢åŒã«ã€ããŠã¯äœãèšåããŠããŸããã ãã®èšäºã¯äž»ã«iOSã¢ããªã±ãŒã·ã§ã³ã«çŠç¹ãåœãŠãŠãããããGugolovskyãœãããŠã§ã¢ã®è©³çŽ°ãæãäžããããšã¯ãããèå³ã®ãã人ã¯å®éšããŠçµæã«ã€ããŠè©±ãããšãã§ããŸãã
ã¢ããã«ã¯ã é»è©±ãªã³ã¯ã®ã»ã¯ã·ã§ã³ã§ãé»è©±çªå·ã®èš±å®¹ããã圢åŒã«é¢ããŠããã«ç°¡æœã§ãã次ã®ãã¬ãŒãºããããŸãã
tel URLã¹ããŒã ã®è©³çŽ°ã«ã€ããŠã¯ãRFC 2806ããã³RFC 2396ãåç §ããŠãã ããã
æ£åŒã«ã¯ããã¹ãŠãæ£ããã®ã§ãããåœéæšæºãããã®ã«ãªãç¹°ãè¿ãã®ã§ããïŒ ããããå®éã«ã¯ãAppleã®äŒæ¥æšæºãšGoogleã®æšæºã¯ããããã®åœéæšæºã®äžéšã«ãã察å¿ããŠããªããšããããšã§ãã
äŒæ¥æšæºã¯ãåœéæšæºã®äžéšã«ãã察å¿ããŠããŸãããããã¯ãæ¬æ¥ãæšå¥šäºé ã§ããããšããããããŸãã
iOSã¢ããªã±ãŒã·ã§ã³ã®é»è©±çªå·ã§äœ¿çšã§ãããã®ãšäœ¿çšã§ããªããã®
å®éšã§ã¯ãRFC 3966ã§èŠå¶ãããŠãã4çš®é¡ãã¹ãŠã®èŠèŠçã»ãã¬ãŒã¿ã«ã·ã¹ãã ãé©åã«å¿çããããšã瀺ãããŸããã
visual-separator = "-" | ããã | ãïŒã|ãïŒã
ããã«ãã»ãã¬ãŒã¿ã¯ä»»æã®å Žæã«é 眮ã§ããããã«ãã¢ã解é€ã§ããŸãã äŸãšããŠãé»è©±çªå·ã®æ¬¡ã®ã¬ã³ãŒãã¯ãå³ã«ç€ºãã³ãŒãã«ãã£ãŠåŠçãããŸãã 6ãåçãã€éåžžã«é©åïŒ
+14089961010 +1(408)996-1010 + 1-408-996-10-10 +1.408.996.1010 +1ïŒ4089ïŒ96-1010 + 1-408996-10-10 +1.408996.1010 + 1-4ïŒ0899ïŒ6-10-10 +1.40ïŒ8996.10ïŒ10
å ç·çªå·ããã€ã€ã«ããå Žåãšã¯ç¶æ³ãç°ãªããŸãã èšäºã®åé ã§è¿°ã¹ãããã«ãã·ã¹ãã ã¯æ¡åŒµã³ãŒãã; ext = "RFC 3966ã§ææ¡ããããã¬ãã£ãã¯ã¹ãã«æ£ããå¿çããŸããã ãã€ãã£ããã€ãŸãã·ã¹ãã ã«ãšã£ãŠèªç¶ãªã®ã¯ãã;ãã®2æåã§ãã ããã³ãããã
æåã®ã±ãŒã¹ã§ã¯ãã·ã¹ãã ãé»è©±çªå·ã«åºåãæåã;ããæ€åºãããšããã€ã€ã«ãåæ¢ããå ç·çªå·ã®æ°åãç»é¢ã«è¡šç€ºãããŸãã ããããã¯ãªãã¯ãããšããã€ã€ã«ãç¶è¡ãããŸãã
2çªç®ã®ã±ãŒã¹ã§ã¯ãã·ã¹ãã ãé»è©±çªå·ã«åºåãæåããããæ€åºãããšããã®æç¹ã§ãã€ã€ã«ãåæ¢ããçŽ2ç§ã®çãäžæåæ¢åŸã«èªåçã«ç¶è¡ããŸãã èŠèŠçãªåºåãæåãããã¯ãã,,,,ãã®ããã«åäžã§ã¯ãªãå ŽåããããŸãã ãã®å Žåãäžæåæ¢ã®æéã¯æåæ°ã«æ¯äŸããŠé·ããªããŸãã
RFC 3966ã§èŠå¶ãããŠããã; ext = "ã圢åŒã®åºåãèšå·ã衚瀺ãããå Žåã次ã®ããã«ãªããŸããã·ã¹ãã ã¯èšå·ã;ããåããŸãã å ç·çªå·ããã€ã€ã«ããåã«ãã¬ãŒã¯ãã€ã³ãããšã«ããå ç·ãèšå·ã¯å ç·çªå·ãå§ãŸãæ°åãšããŠè§£éãããŸãã
ãã®ãããçè«çããã³å®çšçãªåææ¡ä»¶ãæ€èšããèšäºã®2çªç®ã®éšåãã€ãŸãé»è©±çªå·ã®ååŸãšæ€èšŒã«é©ããæ£èŠè¡šçŸã«é²ãããšãã§ããŸãã
ãã®è³æãã圹ã«ç«ãŠã°å¹žãã§ããMSLibraryfor iOSããŒã
ãã®ä»ã®èšäºïŒ
iOSãªã©ã®æ£èŠè¡šçŸã䜿çšããé»è©±çªå·ã®ãã£ããã£ãšæ€èšŒ...ããŒã2
iOSãªã©ã§ãããããã¹ã¯ã䜿çšããŠè€æ°ã®æ¡ä»¶ãå®è£ ãã...
ç°¡åïŒiOSã ãã§ãªããæååããäžèŠãªæåãåé€ããŸã...
Xcodeã§ã®ã¯ãã¹ãã©ãããã©ãŒã ïŒãŠãããŒãµã«ïŒã©ã€ãã©ãªã®äœæãšã³ã³ãã€ã«