iOS 手机功能汇总

开发中经常会调用手机功能,今天来汇总一下,若有不足欢迎大家指出,下面分别介绍如下功能 :

  • 电话
  • 短信
  • 邮件
  • 通讯录
  • 定位
  • 跳转应用
  • 跳转App Store
  • 打开其他文件

电话

调用电话有下图两种不同样式,相同的是,通话结束后均会返回你原界面
1- 直接跳至拨号界面
2- 先弹框提示,用户确认后再跳至拨号界面

111602974-9b7613485d5382ab

  • 直接跳至拨号界面

  • 弹框提示有两种实现方式

1- UIApplication打开URL

2- UIWebView加载URL

短信

短信一般是服务器发
短信样式一样,都是直接跳至短信编辑界面,有两种实现方式
1- UIApplication打开URL方式
跳至短信编辑页面后,用户手动编辑短信内容,完成后返回短信列表界面
缺点: 不能指定短信内容,不能自动回到原应用程序

2- MFMessageComposeViewController方式
和方式1比:
可以提前编辑好短信内容,跳至短信编辑界面时带有内容
可以群发
完成后可以返回原应用程序

121602974-c5241e6c9d08c400

  • UIApplication打开URL方式

  • MFMessageComposeViewController方式

邮件

邮件有两种实现方式:
1- UIApplication打开URL方式
不可提前编辑,发送后不会回到原应用程序
2- MFMailComposeViewController方式
可提前编辑,可群发,可带图片,附件,视频等,发送后退回原应用程序

131602974-0fa44abca12c90d0

  • 用自带的邮件客户端(你绑定的邮箱是什么则发件人就是谁),发送完成后不会返回原应用程序

  • MFMailComposeViewController方式

邮件这个按钮要打开,不然无法发送

141602974-5bff67342d61602f

QQ网页版收到的邮件如下图:

151602974-ff5c8bb8a1ac7b48

通讯录

使用AddressBook和AddressBookUI框架实现

1- 导入框架
AddressBook.framework和AddressBookUI.framework

2- 导入头文件

3- 实现协议并跳转通讯录界面

4- 有很多代理方法,不一一阐述了

定位

使用CLLocationManager来实现定位

1- 导入CoreLocation.framework框架

2- 导入头文件,实现协议

3- iOS8以上需要在Info.Plist文件中添加如下配置
(1)NSLocationAlwaysUsageDescription
(2)NSLocationWhenInUseUsageDescription

4- 声明CLLocationManager对象,开启定位

5- 实现代理方法,会返给你地理位置信息,需要自己解码

161602974-ada6778b3b882781

171602974-36b81ba5b0774167

跳转应用

使用UIApplication打开URL的方法

跳转应用就是在应用A中,某些操作后跳转至应用B,拿我的两个现有的应用举例,一个应用名字为”手机功能”,就是写这篇文章的Demo,另一个应用名字为”FQMusicPlayer”,现在实现点击”手机功能”界面中的button时,跳转至”FQMusicPlayer”

181602974-ba00ad1dfb46f50d

1- 需要配置”FQMusicPlayer”的url地址
2- “手机功能”跳至这个url地址即可

  • 配置地址
    可以直接配置如下图所示,跳转时跳至@”fq:”即可
191602974-a81b929fa254cd1f

也可配置下图,跳转时需要跳转@”fq://iOS.cn”

201602974-52905d15c1543c12
  • 跳转url

备注 : 如果跳转时,是新打开”FQMusicPlayer”,会调用didFinishLaunchingWithOptions方法,若它之前在后台运行,不会调用此方法

如果一个应用被另外一个应用打开,会调用下面的代理方法,可以在该方法中可以实现两个应用之间数据的传递

跳转至App Store

使用UIApplication打开URL方法

1- 首先拿到你要跳转的App Store地址(url),例如我们现在跳转至节奏大师,它的地址是https://itunes.apple.com/cn/app/jie-zou-da-shi/id493901993?mt=8

2- 将 http:// 替换为 itms:// 或者 itms-apps://,再调用代码即可

打开其它文件

拿pdf举例

  • 若是远程访问的资源,可以用两方式打开:
    1- UIApplication打开URL,会跳转Safari浏览器浏览网页
    2- UIWebView打开URL,需要设置UIWebView的frame,内容在UIWebView上显示

访问网址还需要配置下图

221602974-37eae3d91a2e31ac

  • 若是访问本地的pdf文件(沙盒中),pdf文件是要可读的啊,不然不显示的

1- 若是真机,将文件直接拖进来

666661602974-c8c05874e2cd77ef
231602974-97d516ee8596515b

2- 若是模拟器,打印你的沙盒路径,打开Finder,command + shift + G,将文件放进去即可

241602974-e0c4158dfa5f23d4

251602974-1dc52ca351e4bdb5

1 15 收藏 评论

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部