博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

iOS开发之学习笔记-基础篇(一) IPhone URL Schemes

Posted on 2012-05-24 17:23  xgbzsc  阅读(709)  评论(0)    收藏  举报

 

 

进园子n天了,一直没得空写点东西,这算是开篇吧。从第一天接触objective-c一直晕到现在,很多东西都搞不清楚,唉,基础差是硬伤啊,现在还得边学边做,效率很低。本人iOS开发方面纯属新手,希望能与大家共勉,提高技术。文章里如果有概念表述错误大家谅解,因为是自学笔记,lol。好了,开始正文。

 

reference(http://wiki.akosma.com/IPhone_URL_Schemes#Phone)

 

1. 现在需要做一个在页面上点击电话号码就能拨出去的功能,电话号码做成了一个button,号码是从web server上返回的。

- (IBAction)yourButton:(id)sender {

    NSString *tel = [NSString stringWithFormat:@"tel://%@"yourPhoneNumber];

    [[UIApplication sharedApplicationopenURL:[NSURL URLWithString:tel]];

}

说明:button怎么创建就不多说了。这里电话号码格式一定是“tel://”,而且这个功能在模拟器里无法测试,必须在真机上测试。akosma的代码如果直接用的话注意一点,开启ARC的情况下把autorelease去掉。

 

2. 现在需要做一个在页面上点击链接就能打开safari的功能,链接也是做成了一个button,从web server上返回的值。

- (IBAction)yourButtonMaybeNamedButton2:(id)sender {

    [[UIApplication sharedApplicationopenURL:[NSURL URLWithString:yourWebsite]];  

}

说明:这个简单一些。yourWebSite就是你的网址,格式是NSString,你可以NSString *yourWebsite =@"http://www.youtube.com";

 

3. 最后做一个在页面上点击地址打开地图的功能,还是做成了一个button,值从web server上返回。

- (IBAction)yourButton3:(id)sender {

    NSString *title = @"title";

    float latitude = 35.4634;

    float longitude = 9.43425;

    int zoom = 13;

    NSString *stringURL = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@@%1.6f,%1.6f&z=%d", title, latitude, longitude, zoom];

    NSURL *url = [NSURL URLWithString:stringURL];

    [[UIApplication sharedApplicationopenURL:url];

    //NSString* mapUrl = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@",yourAddress];

    //[[UIApplication sharedApplication] openURL:[NSURL URLWithString:mapUrl]];

}

说明:加注释的两行就是我失败的地方,map是需要把地址转化成坐标传到URL里的,上面可执行的代码是akosma的代码,经纬度是设定了的,我现在还没把得到的地址坐标传进来因为还要解决一个本地地址解析的问题。

 

总结:

核心就是这一句:[[UIApplication sharedApplicationopenURL:url];

通过URL操作你想得到的路径。顺便说一句:akosma那个网页里是各种app的连接方法,比如连接到第三方软件:google earth,等等。有需要的朋友请参考。

 

继续努力学习新推送功能怎么做了。看见代码有点想tu。