我正在尝试使用独立的Expo应用程序实现PushNotificationIOS。我正在运行SDK 21.0.0(React Native 0.48)。
我正在React/RCTEventEmitter file not found
我已完成以下步骤:
.xcworkspace
项目RCTPushNotification.xcodeproj
拖到我的库文件夹libRCTPushNotification.a
添加到App > Build Phases > Link Binary With Libraries
$(SRCROOT)/../node_modules/react-native/Libraries
- 我也尝试了/../
。我也在Header Search Paths列表中有一堆Pod。然后我将以下内容添加到AppDelegate.m
中,但当我点击文件(⌘+点击)时,我会收到一个问号。
#import <React/RCTPushNotificationManager.h>
如果我将其更改为下面,它可以工作,我可以点击
#import "RCTPushNotificationManager.h"
但是,这是我的问题
当我清理并构建项目时,我在RCTPushNotificationManager.h
中收到以下错误:
'React/RCTEventEmitter.h' file not found
答案 0 :(得分:10)
@Dan我遇到了同样的问题,它也适用于RCTLinking,以及依赖于eventEmitter.h的其他库和一个独立的Expo项目。
问题是,自从Expo管理Cocoapods中的React以来,RCTPushNotification并没有引用Cocoapods文件React中的React。所以你应该进入RCTPushNotification.xcodeproj然后进入Targets - RCTPushNotification标题搜索路径并添加链接到&#34; ios / Pods / Headers / Public / React&#34;并设置为递归。
最简单的方法是导航到你的iOS / Pods / Headers / Public / React,然后将文件夹直接拖放到标题搜索路径的构建设置中,如下图所示。
在此之后终于出现了你最不可能引用ReactCommon /瑜伽,但ReactCommon / yoga应该在你的节点_modules / react-native / ReactCommon / yoga&#39;
答案 1 :(得分:2)
答案 2 :(得分:2)
这对我的独立世博项目很有效
"react": "16.6.3",
"react-native": "0.58.6",
将'RCTPushNotification'
添加到您的广告连播中,然后运行pod install
pod 'React', :path => '../node_modules/react-native', :subspecs => [
'RCTPushNotification',
]
答案 3 :(得分:1)
只需执行以下步骤:
var jsonData = pm.response.json();
var newData;
var newDataGroup = "";
function replaceValues() {
_.each(jsonData.Variations, (arrayItem) => {
_.each(arrayItem.Items, (item) => {
if(item.Status !== "NonActive") {
item.Status = "NonActive";
}
newData = "{ \"Id\":\"" + item.Id + "\", " + " \"Status\":\"" + item.Status + "\"},";
newDataGroup = newDataGroup + newData;
});
});
newDataGroup = newDataGroup.slice(0, -1);
newDataGroup = "{ \"Products\": [ " + newDataGroup + " ] }";
}
pm.test("Run Replace", replaceValues ());
var newJson = JSON.parse(newDataGroup);
。react-native init project
pod 'React-RCTPushNotification', :path => '../node_modules/react-native/Libraries/PushNotificationIOS'
cd ios && pod install
无需麻烦的手动链接
答案 4 :(得分:0)
由于上面没有提及的内容对我有用,所以我开始尝试,这就是为我解决的问题:
RCTPushNotificationManager.h
复制到React-Core
在项目的根文件夹中执行:
cp ./node_modules/react-native/Libraries/PushNotificationIOS/RCTPushNotificationManager.h ./ios/Pods/Headers/Public/React-Core/React
这会将RCTPushNotificationManager.h
中的node_modules/react-native/Libraries/PushNotificationIOS/
手动复制到React
中的ios/Pods/Headers/Public/React-Core/React
文件夹中。
我不知道这是否是一个好的解决方案,但它可以工作。也许有人可以向我解释为什么它最初不在那儿?那将是黄金。
我非常认真地按照设置说明1进行了所有操作,但是除了上面提到的手动复制之外,其他任何操作都无效……
答案 5 :(得分:0)
使用这些库:
按照步骤进行, 一切都会正常 不需要其他
别忘了
pod install
答案 6 :(得分:0)
这对我有用!
手动添加缺少的库
https://github.com/microsoft/react-native-code-push/issues/1565#issuecomment-489738672
答案 7 :(得分:0)
将#import RCTEventEmitter.h
或#import React/RCTEventEmitter.h
替换为#import <React/RCTEventEmitter.h>
对我有用