iOS 实用功能汇总(2)

Xcode IOS开发错误汇总 【错误信息】真机调试时出现如下错误:Code Signing ErrorSigning for "*****" requires a development team.Select a development team in the project editor.Code signing is required for product for product type 'Application' ... 阅读详情

1.打电话

1.第一种方法

这种方法在iOS8上测试的是不会出现弹框,直接进入到拨打电话界面,结束通话后会回到App界面。先跳出程序再进入到到系统的打电话程。

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",@"10010"]]];

2.第二种方法(慎用)

这种方法提交审核的时候,可能会被拒,所以慎用。。。最好不用。。。

这种方法会出现弹框,结束通话后会回到App界面。

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"telprompt://%@",@"10010"]]];

3.第三种方法

这种方法也会有弹框,结束通话后回到App界面,这种较第一种的区别在于: 一直都在自己的app中运行,没有出去过。

NSMutableString *str=[[NSMutableString alloc] initWithFormat:@"tel:%@",@"10010"];
    UIWebView *callWebview = [[UIWebView alloc] init];
    [callWebview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:str]]];
    [[UIApplication sharedApplication].keyWindow addSubview:callWebview];

发短信

需要导入MessageUI框架,#import <MessageUI/MessageUI.h>

if (![MFMessageComposeViewController canSendText]) return;
MFMessageComposeViewController *vc = [[MFMessageComposeViewController alloc] init];

    // 设置短信内容(这里可以设置短信内容,也可以不设置)
    //vc.body = @"Hello!";

    // 设置收件人列表(这里可以指定收件人,也可以不设置)
    //vc.recipients = @[@"10010", @"10086"];

    // 设置代理
    vc.messageComposeDelegate = self;

    // 显示控制器
    [self presentViewController:vc animated:YES completion:nil];

还要实现代理方法MFMessageComposeViewControllerDelegate:

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{

    // 关闭短信界面
    [controller dismissViewControllerAnimated:YES completion:nil];
    if (result == MessageComposeResultCancelled) {
        NSLog(@"取消发送");
    } else if (result == MessageComposeResultSent) {
        NSLog(@"已经发出");
    } else {

        NSLog(@"发送失败");
    }
}

发邮件

和发短信一样,只不过是MFMailComposeViewController

/ 不能发邮件
if (![MFMailComposeViewController canSendMail]) return;

MFMailComposeViewController *vc = [[MFMailComposeViewController alloc] init];

// 设置邮件主题
[vc setSubject:@"Hello"];
// 设置邮件内容
[vc setMessageBody:@"How are you?" isHTML:NO];
// 设置收件人列表
[vc setToRecipients:@[@"66666@qq.com"]];
// 设置抄送人列表
[vc setCcRecipients:@[@"66666@qq.com"]];
// 设置密送人列表
[vc setBccRecipients:@[@"66666@qq.com"]];

// 添加附件(一张图片)
UIImage *image = [UIImage imageNamed:@"pic.jpeg"];
NSData *data = UIImageJPEGRepresentation(image, 0.5);
[vc addAttachmentData:data mimeType:@"image/jepg" fileName:@"pic.jpeg"];

// 设置代理
vc.mailComposeDelegate = self;
// 显示控制器
[self presentViewController:vc animated:YES completion:nil];

同样实现代理:

- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
    // 关闭邮件界面
    [controller dismissViewControllerAnimated:YES completion:nil];

    if (result == MFMailComposeResultCancelled) {
        NSLog(@"取消发送");
    } else if (result == MFMailComposeResultSent) {
        NSLog(@"已经发出");
    } else {
        NSLog(@"发送失败");
    }
}

跳转AppStore

NSString *str = [NSString stringWithFormat:
                 @"itms-apps://itunes.apple.com/cn/app/id%@?mt=8", appid];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
iOS 面试题汇总 1. 简单介绍下NSURLConnection类及+ sendSynchronousRequest:returningResponse:error:与– initWithRequest:delegate:两个方法的区别? 答: NSURLConnection主要用于网络访问,其中+ sendSynchronousRequest:returningResponse:error:是同步访问数据,即当... 阅读详情

相关推荐

本博客精品专栏汇总:《iOS进阶》、《iOS安全》(持续更新)

文章目录前言I、 iOS进阶II、iOS逆向III、 javaIV 、iOS基础 前言 “订阅”一次 ,享受终身服务的快乐 订阅任意专栏,享有全部专栏 I、 iOS进阶 进程间的实时通讯方案: local socket(解决扩展和容器应用的实时通讯问题) iOS14适配汇总:【1、隐私权限相关:定位、相册、IDFA 2、KVC相关:不允许访问 UIPageControl的pageImage3、UIView相关适配:UITableViewCell兼容等】 II、iOS逆向 III、 java

专注于计算机研发知识和资讯分享 6万+

iOS开发笔记之二十五——MFMailComposeViewController发送邮件实例

1、 (1)检查邮件功能是否已经打开     if (![MFMailComposeViewController canSendMail]) {          UIAlertView *wAlertView = [[UIAlertView alloc]initWithTitle:@"不能发送邮件"

iOS开发笔记 2643

iOS精品资源汇总(持续更新)

文章目录引言I、iOS自定义视图相关热门资源1.1 《用户协议及隐私政策》弹框1.2 电子签名1.3 商品详情页1.4 上传图片视图的封装【支持删除和添加】1.5 查看风险商户的证明材料,图片支持滑动切换1.6 iOS 常用动画【 定点缩放弹窗】1.7 iOS抽奖转盘:概率抽奖算法 & 转盘算法 & 转盘主视图的实现思路1.8 自定义相机( 银行卡/身份证识别OCR、矩形边缘识别)1.9 收银app必备模块:iOS折扣计算器1.10 通讯录1.11 限定文本输入框输入特定的字符个数1.12

专注于计算机研发知识和资讯分享 1万+

从CTF到实战:手把手教你搞定Chrome历史版本(79 vs 110)的密码取证与解密差异

本文深入解析Chrome 79与110+版本在密码取证与解密中的关键差异,涵盖DPAPI与AES-256-GCM加密机制对比,提供从CTF到实战的完整解密指南。通过Mimikatz、Master Key获取及自定义Python脚本等实战技巧,帮助安全人员高效处理电子取证中的Cookies、LoginData等敏感数据。

weixin_30480075的博客 432

iOS移动端安全相关知识汇总

iOS 设备的安全性得益于 Apple 的严格控制和封闭生态系统,但用户仍需保持警惕,采取有效的防护措施。通过了解常见的安全威胁、遵循最佳实践以及使用安全工具,可以显著提高 iOS 设备的安全性。

数据知道的博客 1万+

iOS15适配汇总

文章目录引言I、 UI相关适配1.1 tabbar及navicationbar 背景颜色1.2 tableView section的顶部高度 引言 I、 UI相关适配 1.1 tabbar及navicationbar 背景颜色 问题:没有使用UINavigationBarAppearance和UITabBarAppearance相关方法设置背景,在iOS15回导致背景颜色失效。 在iOS15设置颜色失效的相关方法 self.navigationController.navigationBar.barTint

专注于计算机研发知识和资讯分享 2741

Appium - iOS 各种问题汇总

Appium - iOS 各种问题汇总 作者: Max.Bai 时间: 2014/10 Appium - iOS 各种问题汇总  1. Appium 滑动:  swipe 有三种方式:  第一种:swipe JavascriptExecutor js = (JavascriptExecutor) driver; HashMap swipeObject =

Max's Note 9362

易灵思FPGA实战:T35F324的PLL硬核配置全流程(附避坑指南)

本文详细解析了易灵思T35F324 FPGA中硬核PLL的配置全流程与核心避坑点。内容涵盖从架构理解、Interface Designer参数设置、VCO范围校验,到时钟网络冲突分析与动态重配置等实战环节,重点解决了引脚分配、资源约束和常见报错问题,为工程师提供了一套清晰可靠的配置指南。

u9v0w的博客 216

升级到iOS13.2后,新增了5个实用功能,却把微信害惨了

很多人选择苹果手机,都是看中了它的系统流畅性,最近iOS13.2更新了,那么有哪些新的功能和变化呢?下面将使用一台更新到iOS13.2的机型,演示给大家看。 一、Deep Fusion 首先苹果为iPhone11系列启用Deep Fusion功能,它是比Smart HDR更强大的拍照算法,是根据拍照场景自动开启,无需手动干预。 值得注意的是,必须打开【设置】-【相机】,关闭【超取景框拍摄照片】才能...

bangongguancang的博客 713

Python离线断网情况下安装numpy、pandas和matplotlib等常用第三方包

联网情况下在命令终端CMD中输入“pip install numpy”即可自动安装,pandas和matplotlib同理一样方法进行自动安装。 工作的电脑不能上外网,所以不能通过直接输入pip命令来安装。 环境:电脑上已经安装了Python(没有安装的请参考其他教程)。 Python离线断网情况下安装numpy、pandas和matplotlib等常用第三方包的步骤如下: ...

dayou7738的博客 4943

28、解码清华SSVEP基准数据集:从EEG信号到深度学习模型的实战指南

本文详细解析了清华大学SSVEP基准数据集的处理与深度学习模型构建全流程。从EEG信号预处理、数据维度变换到SSVEP分类模型设计,提供了实战代码示例和关键技巧,帮助读者掌握脑机接口领域的数据处理方法与模型优化策略。

weixin_29029995的博客 176

IOS动画库汇总

Core Animation笔记,基本的使用方法 - Core Animation笔记,基本的使用方法:1.基本动画,2.多步动画,3.沿路径的动画,4.时间函数,5.动画组。 awesome-ios-animation - iOS Animation 主流炫酷动画框架(特效)收集整理 收集整理了下iOS平台下比较主流炫酷的几款动画框架。 awesome-animation - 在内的十

fishmai的专栏 7270

【Java基础篇】Java重要特性,JDK,JRE,JVM区别和联系,环境变量

JDK使用时的执行流程: • 开发者视角(需要开发java程序):需要安装JDK a. 首先使用JDK调用Tools&Tool APIs(开发者工具)编写好Java程序--xxx.java b. 再次调用Tools&Tool APIs中的javac.exe(编译程序)来编译.java文件(将java文件编译成字节码.class文件) c. 调用java.exe来启动JRE d. 在JRE上运行JAVA字节码(加载特定的.class文件,调用这个class文件中的main方法

Yaoyao2024的博客 2163

关于IOS VideoToolBox的一些汇总

1. 至少从iPhone4开始,苹果就是支持硬件解码了,但是硬解码API一直是私有API,不开放给开发者使用,只有越狱才能使用,正常的App如果想提交到AppStore是不允许使用私有API的。 2. 从iOS8开始,可能是苹果想通了,开放了硬解码和硬编码API,就是名为 VideoToolbox.framework的API,需要用iOS 8以后才能使用,iOS 7.x上还不行。

dongtinghong的专栏 1万+

风电光伏功率预测竞赛精华总结:技术解析与实战经验

本文深度解析新能源功率预测竞赛的技术要点与实战经验。首先介绍了风电、光伏功率预测对电网调度优化、降低运营风险的重要性,以及多个竞赛的基本概况。在数据特征分析部分,详细探讨了气象预报数据和功率数据的特征,包括时间周期性、数据质量问题及处理方法。针对异常值检测、数据标准化和特征工程(如时间特征、统计聚合特征、风速风向特征和滞后特征)提供了具体的技术实现方案。文章为新能源功率预测提供了实用的技术指导,对相关竞赛和实际应用具有重要参考价值。

算法工程师 206

MATLAB与ROS联合仿真——ROS环境搭建及相关准备工作(上)

本篇文章主要介绍在安装完ROS后,在进行MATLAB与ROS联合仿真之前,需要进行的一些环境搭建以及准备工作,主要分为 创建ROS工作空间及功能包、必备功能包安装、安装Gazebo11、导入实验功能包至工作空间、安装Visual_Studio_Code(选做)、常用便捷工具安装(选做) 六部分。    本部分内容共分为上下两篇,上篇包括创建ROS工作空间及功能包和必备功能包安装这两部分,下篇包括、安装Gazebo11、导入实验功能包至工作空间、安装Visual_Studio_Code(选做)、常用便捷工

慕羽★的博客 3362

iOS crash 问题分析汇总

iOS bugly crash 问题分析 iOS Crash问题汇总 1. 线程问题 bugly上报问题:_WebThreadLock() 问题 在这里插入代码片 问题分析:是没有在主线程中刷新WebView reloadData 最近的專案中,需要在UITableView中放UIWebView,webview本身會有webthreadlock,因為他在reload之後是UI的re-ren...

kyl282889543的博客 3548

[Dify] HTTP 请求节点总是调不通?先把请求头、参数、变量和返回 JSON 拆开查

这篇文章围绕 Dify HTTP 请求节点调不通、接口能通但流程不稳定、返回 JSON 后续节点读不到等问题展开,从 Method、URL、Header、Body、变量映射和返回字段提取几个角度梳理排查顺序。适合正在把 Dify Workflow 接入企业微信、CRM、工单系统或内部接口的读者阅读,帮助你把接口调用从一次性跑通推进到可复用、可验证的业务流程。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 3945

iOS UIScrollView的代理方法汇总

iOS UIScrollView的代理方法汇总

fongim的博客 1578

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

IOS学习网站汇总

1.前言 经过一阵的纠结和挣扎,终于决定步入IOS移动终端开发人潮之中了,学知识不能光说不练,要理论联系实际,在此特别感谢优快云给大家一个学习的空间,可以和大家互相交流,我也是一个新手,希望跟大家共同进步,为了梦想而前进,闲话少说,下面步入正题。 2.IOS开发网站汇总 今天就先汇总一些IOS常用的学习网站,与大家分享: (1)http://write.blog.youkuaiyun.com   首

Developer_Zhang的专栏 4882

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

iOS9.2 Beta2固件下载地址汇总 附更新内容

苹果今天凌晨发布了iOS9.2第二个测试版本——iOS9.2 beta2,此次更新的版本号为13C5060d。现在小编为大家带来了iOS9.2 beta2固件下载地址汇总,有需要的快来看看吧。   此次更新在iOS9.2 Beta1的基础上加强了Safari浏览器与第三方app的兼容性,另外还对Done按钮位置进行了调整,目前该按钮已由旧版本的界面左上角位置调至右上角,更加方便单手操作。 ...

张掖小高图文设计工作室 513

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

iOS 实用功能汇总(1)

1.去掉tableview header的黏性- (void)scrollViewDidScroll:(UIScrollView *)scrollView { [self.searchBar resignFirstResponder]; if (scrollView == self.listTableView) { CGFloat sectionHeaderHeigh

岁月静好,善待时光。 422

iOS微信增强插件:10+实用功能解锁微信新玩法

你是否曾因重要消息被撤回而懊恼?是否想在朋友圈运动排行榜上轻松霸榜?是否希望远程控制电脑只需微信一键操作?WeChatPlugin-iOS 开源项目为你带来这些实用功能!这款iOS微信增强插件集成了防撤回、远程控制、红包助手等10余项实用功能,无需越狱即可轻松安装,让你的微信体验全面升级。 ## 🔍 痛点分析:为什么你需要这个插件? ### 微信使用中的常见困扰 - **消息被撤回**:重要

gitblog_00683的博客 263

iOS微信终极增强插件:10大实用功能让微信体验全面升级

还在为错过重要消息而懊恼?想要更智能的微信使用体验?这款名为WeChatPlugin-iOS的开源iOS微信增强插件正是你需要的解决方案!无需越狱,通过简单配置就能为你的微信添加防撤回、远程控制、自动抢红包等十余项实用功能,让微信从简单的通讯工具变成强大的生产力助手。 ## 🎯 为什么需要微信增强插件?解决三大痛点 你是否遇到过这些烦恼? **痛点一:重要消息被撤回** - 商务沟通中对方

gitblog_00346的博客 168
上一篇: iOS 实用功能汇总(1)
下一篇: iOS 本地通知
Three_Zhang
博客等级 码龄11年 19粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值