如何点击一个程序调用起来另一个程序的方法 调用程序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中的视频
|