【问题标题】:React-native-onesignal : duplicate error with PodsReact-native-onesignal:Pod 出现重复错误
【发布时间】:2023-04-08 07:49:01
【问题描述】:

自从一整周以来,我一直在思考一个问题...... 我有一个 ReactNative 项目,它在 Android 模拟器上运行得很好,但在 Xcode 上却不行。

  1. 我的代码

实际上,我的 package.json 中有:

包.json

...
"react": "15.4.2",
"react-native": "^0.40.0",
...
"react-native-onesignal": "^3.0.3",
...

我可以运行npm installnpm update 而不会出现任何错误。

此外,我在我的 iOS 项目的 Podfile 中有 iOS 文件夹:

播客文件

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'MyApp' do
    pod 'OneSignal'
end

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['SWIFT_VERSION'] = '3.0'
        end
    end
end

当我运行pod install 时,它运行良好并创建了 .xcworkspace 文件。当我打开它时,我可以看到第一个错误:

所以我用谷歌搜索了它,并在 GitHub 上找到了 react-native-onesignal 存储库,开发人员对我的问题提出了建议:他说要正确关注iOS installation steps。 我已经做到了,通过在 Header Search Path 中添加 $(SRCROOT)/../node_modules/react-native-onesignal/ios recursive

现在,找到了 OneSignal.h,但我收到一个新错误,告诉我该库已重复:

有关信息,这里是我的库、我的文件和我的构建阶段:

一般图书馆

Xcode 中的文件

构建阶段


  1. 我的尝试

我已经尝试过:

  • 删除 main.m,因为它似乎是重复的,
    • 删除库的一份副本,在通用库或构建阶段库中,
    • 在 Xcode 的文件系统中手动删除一份,
    • 在我的目标构建设置中删除Other Files Flag 中的$(inherited) 标志:构建成功,但我的应用程序不再工作 ...我尝试删除其他标志,但没有结果。

没有解决方案,我要生气了。

【问题讨论】:

    标签: ios node.js xcode react-native onesignal


    【解决方案1】:

    从 0.40 版开始,react-native 不能很好地与 cocoapods 配合使用。几天来我也有过类似的战斗,只有在完全放下可可足类动物后才能解决。 但在放弃之前,请尝试删除可在Xcode > File > Project Settings 找到的派生数据文件夹。

    【讨论】:

      【解决方案2】:

      所以,我解决了我的问题。 事实上,我的 package.json 是在 ^3.0.2 版本中安装 react-native-onesignal,所以目前是 3.0.3。因此,由于 3.0.3 已经从进程中删除了 CocoaPods,所以它没有运行......我放入了 package.json '3.0.2'。 我将删除 Cocoapods 并稍后使用 3.0.3。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-22
        • 2015-12-17
        • 1970-01-01
        • 2020-07-27
        • 1970-01-01
        • 2019-03-07
        相关资源
        最近更新 更多