iphone程序启动互相调用

来源:互联网 发布:汪小菲为什么娶大s知乎 编辑:程序博客网 时间:2024/04/27 16:24

如何点击一个程序调用起来另一个程序的方法
调用程序A  被调用程序 B    
A中要设置一些调用的信息

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    [self performSelector:@selector(launchMe) withObject:nil afterDelay:0.0];    [window makeKeyAndVisible]; return YES;}- (void)launchMe{ [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"abc://"]];}


************
其中abc是被调用程序B的bundle id 如: com.yourcompany.abc     后面的://是必定要加的格式


B中要修改plist文件的配置信息

<key>CFBundleURLTypes</key> <array>  <dict>   <key>CFBundleURLName</key>   <string>com.yourcompany.abc</string>   <key>CFBundleURLSchemes</key>   <array>    <string>abc</string>   </array>  </dict> </array>


 

如图所示  info配置截图

 

 

检测iphone是否安装有某个程序,或者打开某个程序openURL CanOpenURL

 

 


[问题描述]
1:在程序B中检测手机中是否安装A程序.
2:在程序B中打开应用程序A.

[解决办法]
步骤一:
首先在程序A的plist中添加url types

<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLName</key><string>AAAAA</string><key>CFBundleURLSchemes</key><array><string>testA</string></array></dict></array>


步骤二:
在程序B中调用A程序的地方添加代码
NSURL * myURL_APP_A = [NSURL URLWithString:@"testA://AAAAA"];if ([[UIApplication sharedApplication] canOpenURL:myURL_APP_A]) {NSLog(@"canOpenURL");[[UIApplication sharedApplication] openURL:myURL_APP_A];}


 

在iPhone中,可以直接用UIApp打开URL地址。如下所示:

[ UIApp openURL: [ NSURL URLWithString:@"http://www.apple.com" ] ];
或者:

[ UIApp openURL: [ NSURL URLWithString:@"mailto:apple@mac.com?Subject=hello" ] ];

 

与此同时,iPhone还包含一些其他除了http://或者mailto:之外的URL:

sms:// 可以调用短信程序

tel:// 可以拨打电话

itms:// 可以打开MobileStore.app

audio-player-event:// 可以打开iPod

audio-player-event://?uicmd=show-purchased-playlist 可以打开iPod播放列表

video-player-event:// 可以打开iPod中的视频

 

原创粉丝点击