【问题标题】:Where is info.plist for React Native projects run in Expo for the purpose of callback URLs?为了回调 URL 的目的,在 Expo 中运行的 React Native 项目的 info.plist 在哪里?
【发布时间】:2018-04-11 10:49:34
【问题描述】:

我正在我的 iOS React Native 应用程序中处理 OAuth 请求。此应用程序通过Expo 包含和启动。我想添加一个 自定义回调 url,以便在跳转到浏览器后返回应用程序。据说,我是通过修改info.plist 文件来做到这一点的,但它无处可寻。我的项目文件夹在任何地方都不包含此文件,我不完全确定命令行工具 npm 是否在运行时生成它。

这个文件到底在哪里?

就上下文而言,我使用 Xcode。我只是使用 sublime 来编辑我的项目文件,终端运行npm start

编辑 - 找到解决方案后:

StackOverflow 上有另一个问题旨在回答同样的问题,但出于不同的原因:“Info.plist file for react native ios app using expo SDK。”但是,我的问题是特定于 callback urls 的。正如我在my answer below 中所描述的,Expo 有自己的应用程序回调 URL(即无需编辑 info.plist 文件)。如果您需要 info.plist,请参阅上面链接的问题。 info.plist 文件在使用 Expo 时是隐藏的,但可以通过变通方法访问其中的某些字段。

【问题讨论】:

  • 你在用expo吗?
  • @ShubhnikSingh 是的
  • 你不会有 info.plist。您的项目不会包含任何原生文件,例如 info.plist、android 的 .gradle 文件。
  • 我没有expo的经验,看看能不能帮到你docs.expo.io/versions/latest/guides/linking.html
  • 有两种方法可以创建你的 RN 应用程序:1) create-react-native-app(expo):你只能用 Javascript 编码,没有任何原生文件 2) react-native init(使用 react-native CLI):您可以添加原生文件。

标签: ios react-native expo info.plist callbackurl


【解决方案1】:

Shubhnik Singh 确实帮助了我。对于任何想知道的人,请转到此处:https://docs.expo.io/versions/latest/workflow/linking/

更具体地说,请查看Expo.Linking module section。您不是创建自己的回调 url 链接,而是借用 Expo 的。毕竟,您是在另一个应用程序中运行所有内容,因此拥有自己的真正回调链接是没有意义的。

总而言之,您确实拥有 Expo 为您提供的回调链接。

编辑:2019 年 3 月 30 日星期六

根据 cmets 的报告,Linking 指南的原始链接已失效。但是,Expo 似乎只是在他们的域中移动了一些东西。很明显,一些实际细节略有改变(参见 WayBackMachine 对original page 的快照)。具体与此问题相关,回调 URL 细节和实际指南上的名称略有变化。我已经更新了上面的原始答案以反映这一点。

【讨论】:

  • 链接现在是 404... 不幸的是,我无法发出 HTTP 请求,因为缺少此配置文件:(
  • @Lucio 我刚刚使用正确且有效的链接更新了上面的答案。谢谢你告诉我。答案现在再次起作用。在上面的答案中看到我的编辑评论,但基本上世博会在他们的域上移动了一些东西。指南只是稍微移动了一点。
【解决方案2】:

对于非世博项目,位置是/YOUR_APP_DIR/ios/YOUR_APP_NAME/Info.plist。如果您更新此文件并保存,您将在 Xcode 中看到相同的文件更新。

【讨论】:

  • 对于其他阅读本文的人,我在原始问题的评论部分和问题本身中解决了这个链接问题,作为对这是否是可能重复的回应。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-05
  • 1970-01-01
  • 1970-01-01
  • 2022-08-18
  • 1970-01-01
  • 2017-10-05
  • 2019-09-19
相关资源
最近更新 更多