嘿,
将其导入 RN 项目(从 Parse 迁移!)时遇到问题。
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_OneSignal", referenced from:
objc-class-ref in libRCTOneSignal.a(RCTOneSignal.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
尽管架构不同,但它看起来与https://github.com/geektimecoil/react-native-onesignal/issues/5非常相似。
我对 ObjectiveC 非常不熟悉,但很乐意提供帮助,如果我可以根据需要进行指导,我会发布 PR。 希望有人可以帮助我!
谢谢
奥利
@olliebrennan您是否设法解决了此问题? 我正在查看 #5 的提交以找出要做什么。 我是 JS 开发者,不是 iOS 开发者,所以不熟悉各种设置。
也许@jkasten2可以在这里提供帮助?
@jamiemchale我没有。 遇到了与您相同的问题,因此使用 Parse 离开我的应用程序,直到出现修复程序。 如果可以,我很乐意提供帮助,但正如您所说,我也不熟悉 iOS 语言/设置。
@olliebrennan @avishayil
如果您安装了带有 Cocoa pod 的 OneSignal 插件,它可能不会将 OneSignal 原生框架引用到主项目。 您可以将 OneSignal.framework 从 Finder 拖放到 XCode 中,这样可以修复链接器错误。 如果没有它不起作用,您可能必须选择“如果需要,复制项目”。
最后确保您使用的是 Xcode 7.0 或更高版本,因为旧版本的 Xcode 将导致完全相同的错误。
谢谢@jkasten2
我将在接下来的几天内发布一个版本,然后会尝试这个并报告。
干杯
+1 在 OSX 上有类似的问题
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_OneSignal", referenced from:
objc-class-ref in libRCTOneSignal.a(RCTOneSignal.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我错过了OneSignal.framework
。 尝试将appname/node_modules/react-native-onesignal/ios/Frameworks/OneSignal.framework
拖入 XCode 的库中。 还是行不通。
也试过appname/ios/Pods/OneSignal/iOS_SDK/Framework/OneSignal.framework
,也没有用。
@olliebrennan您是否设法解决了该问题?
我遇到了与@olliebrennan完全相同的问题,通过以下方式解决:
node_modules/react-native-onesignal/ios/Frameworks
文件夹拖入 XCode 左侧面板下的 RCTOneSignal.xcodeproj嘿@hyperh @olliebrennan你解决了吗?
@avishayil我无法解决这个问题。 我决定使用 apnagent 来处理我的 APN 内容。
如果有人遇到同样的错误,请报告。 我现在关闭这个问题。
@avishayil我有这个问题。 尝试按照@whollacsek的说明进行操作,但我仍然在 XCode 中遇到相同的错误。
与@chrissm79和其他人相同的问题
我刚到这里,是的,同样的问题。
+1
看着它。 有复现步骤吗?
我遇到了这个问题,并且能够通过从 Finder 单击并拖动 ios/Pods/OneSignal/iOS_SDK/Framework/OneSignal.framework 到我的 XCode 项目的 Frameworks 文件夹中来修复它。
与@chrissm79完全相同的问题
编辑:通过下载框架并从文档链接中链接它而不是使用 node_modules 文件夹中的框架来解决。
您有可以参考和使用的示例项目,请确保
您正在遵循所有命令,不应发生错误。
2016 年 7 月 2 日上午 12:37,“Charles Hulcher”通知@github.com 写道:
与@chrissm79相同的问题https://github.com/chrissm79
—
你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/geektimecoil/react-native-onesignal/issues/18#issuecomment -230052711,
或静音线程
https://github.com/notifications/unsubscribe/AAyekNTkU15t6IP4zvQzg06yXzUf0akHks5qRYiBgaJpZM4IHVBS
.
我也有这个问题但是不知道怎么解决
ld:警告:忽略文件 /Users/apple/Desktop/Camera/XCTest.framework/XCTest.tbd,文件 /Users/apple/Desktop/Camera/XCTest.framework/XCTest.tbd 中缺少所需的架构 x86_64(3 个切片)
体系结构 x86_64 的未定义符号:
“_OBJC_CLASS_$_XCTestCase”,引用自:
_OBJC_CLASS_$__TtC6Camera11toucanTests in toucanTests.o
“_OBJC_METACLASS_$_XCTestCase”,引用自:
_OBJC_METACLASS_$__TtC6Camera11toucanTests in toucanTests.o
ld:找不到架构 x86_64 的符号
clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
我在 react-native 0.37 上,这是我如何让它工作的(我认为自述文件/文档稍微落后于 react native)。
npm install react-native-onesignal --save
react-native link
import com.geektime.reactnativeonesignal.ReactNativeOneSignalPackage;
而不是import com.geektime.rnonesignal.ReactNativeOneSignalPackage;
(一些旧文档有 rnonesignal 并且已经更新)YMMV 如果您使用的是低于 RN v0.37 的东西。 祝你好运。
问题解决了!!
只需从项目导航器,转到 Pods 部分,找到 oneSignal.framework 并将其拖到位于目标下的“Link Binary with libraries”中,就是这样! 所以基本上只使用框架而不是 pod 文件更好。
就我而言,我必须在podfile
添加以下行并再次运行pod install
。 然后运行Clean
并再次构建。
pod 'react-native-onesignal', :path => '../node_modules/react-native-onesignal'
就我而言,运行一个较旧的 React Native 0.39.0 项目,我不得不react-native link
, Clean
构建,然后再次Build
项目。
在我的情况下,libRCTOneSignal.a 在带有二进制文件的链接库中丢失,我刚刚添加并解决了问题
你可以按照这里的第二步https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual -linking
最有用的评论
我遇到了与@olliebrennan完全相同的问题,通过以下方式解决:
node_modules/react-native-onesignal/ios/Frameworks
文件夹拖入 XCode 左侧面板下的 RCTOneSignal.xcodeproj