在我的应用程序中打开外部应用程序
答
你可以做,如果有问题的应用程序有一个定义的协议,例如,如果你想打电话通过Skype一个数字,你可以像
NSString *contactName = @"user123";
NSURL *skypeURL = [NSURL URLWithString:[NSString stringWithFormat:@"skype://%@?call", contactName]];
if ([[UIApplication sharedApplication] canOpenURL:skypeURL]) {
[[UIApplication sharedApplication] openURL:skypeURL];
} else {
// Display to the user how to install skype.
}
执行的操作同样可以发生其他程序,其有一个可以理解的协议定义。
而就在4记载,这里是专门URL方案的列表 http://wiki.akosma.com/IPhone_URL_Schemes
然后,如果你希望你的应用程序进行网址方案不兼容,你可以通过阅读本有一个好的开始: http://www.idev101.com/code/Objective-C/custom_url_schemes.html 这篇文章非常好,很详细。
How do you set your Cocoa application as the default web browser?
它解释了如何使您的应用程序处理的自定义URLScheme,这原来是你的情况。
希望它可以帮助。
k
其他情况我不知道它是否可能。
答
不可能,因为所有的iPhone应用程序都将运行在不同的独立进程中,并且拥有自己的运行时环境。只有有限的IPC(进程间通信)可用,对于系统库和资源也是如此。
答
不可以。无法在应用内打开另一个应用。但是,您可以通过使用CFBundleDocumentTypes
和UIDocumentInteractionController
URL Scheema
Open_In功能打开从你的应用程序反之亦然一个不同的应用程序。
如何制作一个程序,以便它可以被外部应用程序调用,例如[[UIApplication sharedApplication] openURL:skypeURL];你写的? – rakeshNS 2012-02-15 12:23:13
我刚刚更新了解释如何做到这一点的链接。 ;-) – holographix 2012-02-15 12:24:38