2012-02-15 2 views

ответ

1

Вы можете это сделать, если приложение в вопросе есть определенный протокол, в примере, если вы хотите, чтобы вызвать номер через скайп вы можете выполнить действие, как

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

Затем, если вы хотите, чтобы ваше приложение, чтобы быть URL-Scheme совместимым, вы можете иметь хороший старт, прочитав это: http://www.idev101.com/code/Objective-C/custom_url_schemes.html и этот пост действительно хорош и детализирован.

How do you set your Cocoa application as the default web browser?

объясняет, как сделать ваше приложение обрабатывать пользовательские URLScheme, который, оказывается, ваш случай.

надеюсь, что это может быть полезно.

к

для других сценариев случае я не получил ни малейшего представления, если это возможно.

+0

Как я могу сделать программу такой, что она будет invokable внешним приложением, используя вызов, такой как [[UIApplication sharedApplication] openURL: skypeURL]; как вы писали? – rakeshNS

+0

Я только что обновил ответ ссылкой, в которой объясняется, как это сделать. ;-) – holographix

0

Нет, это невозможно сделать, если приложения, о которых идет речь, не поддерживают схему URL-адреса, то вы можете запустить ее с помощью URL-адреса.

+0

Что такое схема URL? Может у объяснить, пожалуйста, – rakeshNS

0

Невозможно, потому что все приложения iphone будут работать в другом отдельном процессе со своей собственной средой выполнения. Доступно только ограниченное IPC (Inter process communication), что тоже для системных библиотек и ресурсов.

0

Нет. В приложении нет возможности открыть другое приложение. Однако вы можете открыть другое приложение из своего приложения наоборот с помощью

  1. URL Scheema

  2. функциональность Open_In с помощью CFBundleDocumentTypes и UIDocumentInteractionController.