【问题标题】:How can open an iphone app from my app in Swift? [duplicate]如何在 Swift 中从我的应用程序打开 iphone 应用程序? [复制]
【发布时间】:2014-10-01 02:42:33
【问题描述】:

如何在 Swift 中从我的应用打开应用?我需要打开通讯录来选择联系人并保存在我的应用程序中,但我不知道该怎么做。我正在阅读如何阅读联系人并显示在表格视图中,而不是关于如何打开通讯录应用程序。而且我正在阅读如何使用 UIApplication.sharedApplication() 打开,但我只展示了如何打开 url...

有什么形式可以做到这一点?

谢谢!

【问题讨论】:

  • 如果目标应用程序支持 URL-scemes,那么它就是小菜一碟(当然,无需返回您的应用程序),否则您无法在不冒可能被拒绝的情况下执行此操作。

标签: ios swift


【解决方案1】:

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

【讨论】:

  • 然后我可以将此代码转换为 Swift 以打开 facebook: //facebook if(![[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"fb://profile/181239321918026"]]) { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"facebook.com/plungeinteractive"]]; } 但是打开通讯录应用通讯录的url是什么??
  • 不幸的是,目前 iOS 中的联系人应用程序没有 URL 方案。
【解决方案2】:

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

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 方法来呈现一个控制器,即联系人 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(); 有一些小的变化

【讨论】:

  • 本教程大约是我想做的,但我想访问本机应用程序联系人,选择一个联系人并在我的应用程序中显示。这个有可能。现在我有代码来显示数组中的所有联系人,但没有将其显示到本机联系人簿 iphone 中。谢谢!!
  • 我已经更新了我的帖子。希望这可以帮助您继续您的应用程序;)如果您有任何问题,请随时提问;)
猜你喜欢
  • 2012-04-24
  • 2010-09-27
  • 1970-01-01
  • 1970-01-01
  • 2012-05-17
  • 2013-03-19
  • 2014-05-16
  • 2012-02-16
相关资源
最近更新 更多