如何从React Native应用程序打开默认iOS应用程序?

问题描述:

我正在创建一个React Native应用程序,我希望能够从中打开默认应用程序。具体做法是:如何从React Native应用程序打开默认iOS应用程序?

  • Phone.app(在我的应用程序开放的iOS模式按钮点击拨打特定号码)
  • 苹果地图应用程序(点击我的应用程序的按钮,并与路由打开苹果地图到指定的目标目的地)

我明白我可以

<TouchableOpacity 
    onPress={() => 
    Linking.openURL(`geo:${latitude},${longitude}`)}> 
    <Text>Open Map</Text> 
</TouchableOpacity>``` 

打开系统的地图和类似的呼吁openURL("tel:" + telephone)的电话号码。 (我有目的地省略了代码片段中的错误处理。)

接下来,应该有必要更新ios/Info.plist以允许这些应用程序查询方案。我试图把它放进去:

<key>LSApplicationQueriesSchemes</key> 
<array> 
    <string>geo</string> 
    <string>tel</string> 
</array> 

我仍然收到EUNSPECIFIED错误。我想也许我不应该把LSApplicationQueriesSchemes键作为geotel。然而,我却无法知道那里应该发生什么。

谢谢!

  1. 如果您使用模拟器,那么只能测试网址。其他 网址需要实际设备进行测试。
  2. geoandroid only.
+0

感谢。原来应该为Apple地图使用HTTP链接。请参阅[Apple URL Scheme Reference](https://developer.apple.com/library/content/featuredarticles/iPhoneURLScheme_Reference/MapLinks/MapLinks.html) –