如何在Swift中从我的应用程序中打开iphone应用程序?

时间:2014-08-07 18:29:18

标签: ios swift

如何在Swift中从我的应用中打开应用?我需要打开联系人书来选择联系人并保存在我的应用程序上,但我不知道如何做到这一点..我正在阅读如何阅读联系人并显示到表格视图但不知道如何打开联系人书籍应用程序。而且我正在阅读如何使用UIApplication.sharedApplication()打开,但我只展示了如何打开网址...

有一些形式可以做到这一点吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

与@jtbandes发布的一样,唯一的方法是使用URL方案。您无权启动/读取其他应用程序或设置,除非您的应用程序与其他应用程序共享相同的软件包标识符(Facebook + Facebook Messenger,例如将共享这些并且能够检测

答案 1 :(得分:0)

打开通讯录非常简单。这是一个很好的教程,解释了如何做到这一点:

http://www.raywenderlich.com/63885/address-book-tutorial-in-ios

另外:在iOS 8中,您可以使用应用程序间通信扩展!这是一个非常好的功能。您可以在此处查看有关此内容的主题演讲视频:http://www.theverge.com/2014/6/2/5765048/apple-wwdc-2014-os-x-yosemite-ios-8-and-all-the-news-you-need-to-know

修改

这是我在我的应用程序中使用的init方法,用于显示一个控制器,它是contacts tableView:

- (id)init
{
    self = [super init];
    if (self) {
        ABPeoplePickerNavigationController *picker = [ABPeoplePickerNavigationController new];

        ABAddressBookRef addressBook = ABAddressBookCreate();

        picker.addressBook = addressBook;
        picker.displayedProperties = @[[NSNumber numberWithInt:kABPersonAddressProperty]];
        picker.peoplePickerDelegate = self;

        if (addressBook != nil)
            CFRelease(addressBook);

        _controller = picker;
    }
    return self;
}

我不知道这是否可以帮到你。无论如何,不​​要忘记使用适当的新方法(不要弃用)。我认为关于ABAddressBookCreate();

的变化很小