如何在 react-native iOS 应用程序中运行时读取 Info.Plist?
Posted
技术标签:
【中文标题】如何在 react-native iOS 应用程序中运行时读取 Info.Plist?【英文标题】:How to read Info.Plist at run-time in react-native iOS app? 【发布时间】:2016-02-25 22:58:40 【问题描述】:在运行时,有没有办法从 Info.Plist 中读取CFBundleVersion
?
我想在应用的“关于框”中显示版本信息。
提前致谢,
-埃德
【问题讨论】:
【参考方案1】:我建议你使用这个做得很好的library
我想你会得到你需要的所有信息。
编辑
您还可以在 AppDelegate.m 文件中使用一些 Obj-C。只需添加这些行:
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
NSDictionary *props = @@"version" : version;
并替换这些行:
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"Needlios"
initialProperties:nil
launchOptions:launchOptions];
这些:
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"NeedlIOS"
initialProperties:props
launchOptions:launchOptions];
您在这里将版本作为道具传递给您的第一个 iOS 视图。这意味着您可以在 index.ios.js
文件中使用 this.props.version
获取应用版本。
【讨论】:
谢谢,react-native-device-info 分分钟解决问题!还要感谢您关于如何将道具从 AppDelegate.m 传递到 react-native 的提示。我希望这个技巧也很有用! github.com/rebeccahughes/react-native-device-info 只有当我直接从xcode
运行时,这是否有效? run-ios
命令不起作用。
我可以确认,在 iOS 上的 React Native 0.48.4 上,run-ios 没有传入 initialProperties。我也不知道为什么!以上是关于如何在 react-native iOS 应用程序中运行时读取 Info.Plist?的主要内容,如果未能解决你的问题,请参考以下文章
可下载内容如何在 iOS 的 react-native 应用程序中工作?
如何在 IOS 中从我的 React-Native 应用程序打开外部应用程序?