iOS 关联外部应用

1:打开Mail 

NSString *recipients = @"mailto:ysy@flyrise.cn?subject=Hello from California!";
NSString *body = @"&body=It is raining in sunny California!";
NSString *email = [NSString stringWithFormat:@"%@%@", recipients, body];
          email = [email stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:email]]; 

2:打电话

NSString *num = @"110"; //number为号码字符串
NSString *mobileNumber = [NSString stringWithFormat:@"telprompt://%@", num];
NSLog(@"call phone %@;", mobileNumber);
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:mobileNumber]];

注:上面代码触发后,系统会提示用户是否真的要打电话, 电话结束后,会返回至应用程序,

     如果将telprompt修改为:tel 后,点击可直接拨打电话, 但电话结束后,不会返回至应用程序

2:打开Safari

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.baidu.com"]];

3:打开Messages

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://800888"]];

4:打开App Store 某个应用的评价系统

NSLog(@"%@",[[[SystemGlobalInfo defaultInstance] deviceInfo] applicationId]);
NSString *str = [NSString stringWithFormat: @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@",[[[SystemGlobalInfo defaultInstance] deviceInfo] applicationId]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];

5:打开App Store 中的某个应用 途中经过Safari

NSString *appID = @"291586600";
NSString *appUrl = [NSString stringWithFormat:@"http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=%@&mt=8",appID];
NSURL *appStoreUrl = [NSURL URLWithString:appUrl];
[[UIApplication sharedApplication] openURL:appStoreUrl];

6:打开App Store 中的某个应用 直接跳转

NSString *urlString = @"http://itunes.apple.com/us/app/ye-wu-xie-zuo-ping-tai/id507704613?mt=8&uo=4";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]] ;

7:打开谷歌Maps进行搜索

NSString* searchQuery = @"珠海";
searchQuery = [searchQuery stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
NSString* urlString = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@", searchQuery];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];

8:利用OpenUrl打开第三方应用程序

本文释权了打开的方式,很详细.. 地址如下:

http://blog.cnrainbird.com/index.php/2012/06/04/tong_guo_openurl_qi_dong_di_san_fang_app_bing_chuan_can_shu/

这里简单描述一下注意点,

1: A工程 需要打开 B 工程 那么B工程需要在plist文件中 进行UrlType的注册

2:在启动其他第三方应用程序之前,可以通过如下代码判断,应用程序是否已经安装在iPhone中.

NSURL *url = [NSURL URLWithString:@"AppMessageDemo:11"];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
     [[UIApplication sharedApplication] openURL:url];
}else {
     [ShareCode Msg:@"没安装"];
}

3: B工程被打开时,请使用如下委托处理打开的消息

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    NSLog(@"%@",[url path]);
    NSLog(@"%@",sourceApplication);
    NSLog(@"%@",annotation);
    return NO;
}

下面这个委托,也就是微文中提到的委托,已经被苹果弃用

-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    NSLog(@"123");
    return [WXApi handleOpenURL:url delegate:self];
}

注: sourceApplication 表示 App plist文件中标明的 Bundle identifier

      至于返回YES,还是返回NO,似乎没有发生任何事情,待继续考证.

9:为应用设置首选项功能

创建: 

时间: 2024-10-04 00:33:12

iOS 关联外部应用的相关文章

ios调用外部SDK后导致的屏幕旋转错误

问题描述 ios调用外部SDK后导致的屏幕旋转错误 程序是用C++写的跨平台横屏游戏,渲染引擎是opengl那套,IOS版添加友盟分享的SDK时,进入友盟封装的界面,游戏就变竖屏了,并且IOS6以下版本没有这个问题. IOS6以上版本是通过UIViewController控制,IOS5以下版本通过AddSubview方式添加view. 友盟的第一个界面是UINavigationController 解决方案 应该还是哪里没整对,第一个view controller 最好是UINavigation

非关联外部链接的重要性

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 众所周知,GOOGLE的PAGERANK集页面关键词关联度(TITLE, HEADING, DESCRIPTION, ANCHOR TEXT, ALT TAG, CONTENT, KEYWORD DENSITY/PLACEMENTS, PAGESIZE)和链接 普遍度LINK POPULARITY(INCOMING LINKS,OUTBOUN

ClickOnce发布C#应用程序时怎样关联外部文件夹

问题描述 一个C#写的winForm应用窗体,运行时需引用外部文件夹,ClickOnce发布怎样把外部引用文件夹也发布上去 解决方案 解决方案二:对于程序依赖的文件,例如库文件,非托管dll,clickonce发布后,并不能自动打包.1.在项目上右键->添加->添加现在项将自已需要的文件添加进来.2.选中刚添加进来的文件,在属性窗口将"复制到输出目录"的值选为"始终复制":将"生成操作"的值选为"内容".3.在&q

超实用的IOS 9人机界面指南(1):UI设计基础

  1.1 为iOS而设计(Designing for iOS) iOS 表现了以下三大设计原则: 遵从(Deference):UI应该有助于用户更好地理解内容并与之交互,并且不会分散用户对内容本身的注意力. 清晰(Clarity):各种尺寸的文字清晰易读;图标应该精确醒目,去除多余的修饰,突出重点,以功能驱动设计. 深度(Depth):视觉的层次感和生动的交互动画会赋予UI新的活力,有助于用户更好地理解并让用户在使用过程中感到愉悦. 无论你是重新设计现有的应用,还是重新开发一个新应用,请基于下

超赞的IOS 8人机界面指南(1):UI设计基础

  今天这篇长文让人激动到手发抖,腾讯译者糖箔糊的心血译作,整篇2万多字,源自官方超详细的IOS 8人机界面指南,非常用心的作品,文字到位,逻辑清晰,保证任何一个细节读起来都能明白晓畅,趁着IOS 8 刚刚发布,赶紧提前学起来,千万记得收藏呦! 小技巧:Word 2013会自动检测目录,阅读模式下学习非常方便! 1.1 为iOS而设计(Designing for iOS) iOS 的革新关键词如下: 遵从 :UI能够更好地帮助用户理解内容并与之互动,但却不会分散用户对内容本身的注意力. 清晰 :

objective-c-ios testfight外部测试无法点击下一步 有截图

问题描述 ios testfight外部测试无法点击下一步 有截图 如图 无法点击下一页 这是为什么 很急 在线等 解决方案 要想参与 TestFlight 的 App 测试,必须得到相应 App 开发者的邮件邀请,这个你有吗 解决方案二: 已经解决了 我还是自己来回答一下吧 虽然不知道是从什么时候开始的规矩 以前外部测试没有碰到过 但这次碰到了 是在外国一篇帖子里看到的 是关于语言的问题 也就是上面的简体中文的语言要换一个 要换成所有支持语言就可以了

毛红亮:对网站优化的最新研究结果

站长们,你们可知道以前的老优化模式已经OUT(过时)了.关于以前的老优化模式,我做了大量网站数据测试和分析.经过了3个多月的研究测试,最终得出了令人意外的几个结果,现在我把它公布出来,希望能给各位站长和SEOVR一点参考.下面的SEO研究结果都是对百度搜索而言的,对谷歌和其他搜索无效! 第一:网站排名和权重跟外链多少没有对应关系.也就是说,你的外链再强大,也许没有一个外链少的站排名高.也就是说,外链与网站排名没有任何关系,并非外链越多网站权重高!相当多的站长看到自己网站的排名低下,就奋不顾身的去

迅音软件完全使用说明

迅音是什么软件?用来干嘛的?在这里我们就来看看这个软件最详细的使用方法吧! 迅音是一款方便用户快速搜歌.迅速下歌.高效管歌.轻松听歌.智能传歌的MP3音乐软件.在搜歌上,全面集成了百度.中搜.雅虎.狗狗多家搜索引擎的榜单和歌曲.在下歌上,支持类迅雷的P2SP下载技术.在管歌上:支持歌曲自动分类和播放列表管理.在听歌上,内嵌MediaPlayer播放器,并外接千千静听等多种主流播放器.在导歌上,支持对MP3的自动滤重的智能歌曲导出. 第一:安装 迅音安装非常简单,只需点击[下一步]按钮即可,整个安

jquery easyui-请问jquery-easyui+struts2 实现tree的后台?

问题描述 请问jquery-easyui+struts2 实现tree的后台? 1.前台 <br> $(function(){ <br> $('#tt').tree({<br><br> url:'menu2_find' <br> lines:true <br> }); <br> }); <br> 相关文章 easyui-EasyUI 添加Tab没有效果,急急急 jquery-easyui点击添加,弹出个dial