Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

symbol(s) not found for architecture x86_64 #18

Closed
olliebrennan opened this issue Apr 14, 2016 · 25 comments
Closed

symbol(s) not found for architecture x86_64 #18

olliebrennan opened this issue Apr 14, 2016 · 25 comments

Comments

@olliebrennan
Copy link

Hey,

I am running into an issue when importing this into a RN project (migrating from 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)

It looks very similar to #5 although different architecture.

I am pretty unfamiliar with ObjectiveC but happy to help where I can and will issue PR if I can be guided as required. Hopefully someone can help me along!

Thanks
Ollie

@jamiemchale
Copy link

@olliebrennan did you manage to resolve this issue? I am looking through the commit for #5 to figure out what to do. I'm a JS dev, not an iOS dev, so am unfamiliar with the various settings.

@avishayil
Copy link
Contributor

Maybe @jkasten2 can help here?

@olliebrennan
Copy link
Author

@jamiemchale I did not. Had the same issue as you so left my app using Parse until a fix comes along. Happy to help if I can but as you said, I am also unfamiliar with the iOS language / settings.

@jkasten2
Copy link
Member

jkasten2 commented Apr 28, 2016

@olliebrennan @avishayil
If you installed the OneSignal plugin with Cocoa pods it may not reference the OneSignal native framework to the main project. You can drop and drag OneSignal.framework from Finder to XCode which should fix the linker error. You may have to select "Copy items if needed" if it does not work without.

image

image

Lastly make sure you are using Xcode 7.0 or higher as older versions of Xcode will result in the exact same error here.

@olliebrennan
Copy link
Author

Thanks @jkasten2
I have a release going out in the next couple of days then will try this and report back.

Cheers

@hyperh
Copy link

hyperh commented May 10, 2016

+1 having a similar issue on 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)

I was missing OneSignal.framework. Tried dragging appname/node_modules/react-native-onesignal/ios/Frameworks/OneSignal.framework into XCode's Libraries. Still not working.

Tried appname/ios/Pods/OneSignal/iOS_SDK/Framework/OneSignal.framework as well, didn't work either.

@olliebrennan Did you manage to resolve the issue?

@whollacsek
Copy link

I had the exact same issue as @olliebrennan, solved it by:

  1. drag the node_modules/react-native-onesignal/ios/Frameworks folder into RCTOneSignal.xcodeproj under XCode's left panel
  2. once in the left panel, drag the OneSignal.framework into Link Binary with Libraries

@avishayil
Copy link
Contributor

Hey @hyperh @olliebrennan did you managed to solve this?

@hyperh
Copy link

hyperh commented May 24, 2016

@avishayil I was unable to solve this. I decided to go with apnagent to handle my APN stuff.

@avishayil
Copy link
Contributor

If someone encounters the same error, please report. I'm closing this issue for now.

@chrissm79
Copy link

@avishayil I have this problem. Tried following @whollacsek's instructions but I am still getting the same error in XCode.

screenshot 2016-06-03 15 40 31

@masterkrang
Copy link

Same problem as @chrissm79 and others

@edo1493
Copy link

edo1493 commented Jun 11, 2016

I just got here and yes, same problem.

@avishayhajbi
Copy link

+1

@avishayil
Copy link
Contributor

Looking into it. Any reproduce steps?

@chromakey
Copy link

I experienced this issue and was able to fix it by clicking and dragging ios/Pods/OneSignal/iOS_SDK/Framework/OneSignal.framework from Finder into the Frameworks folder of my XCode project.

@c-h-
Copy link

c-h- commented Jul 1, 2016

Same exact issue as @chrissm79

Edit: Solved by downloading the framework and linking it from the documented link rather than using the framework in the node_modules folder.

@avishayil
Copy link
Contributor

You have the example project to reference and play with, please make sure
you're following all the orders, no errors should occur.
On Jul 2, 2016 12:37 AM, "Charles Hulcher" notifications@github.com wrote:

Same exact issue as @chrissm79 https://github.com/chrissm79


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#18 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AAyekNTkU15t6IP4zvQzg06yXzUf0akHks5qRYiBgaJpZM4IHVBS
.

@LawanyaD
Copy link

LawanyaD commented Dec 1, 2016

I also have this problem but don't know how to solve it

ld: warning: ignoring file /Users/apple/Desktop/Camera/XCTest.framework/XCTest.tbd, missing required architecture x86_64 in file /Users/apple/Desktop/Camera/XCTest.framework/XCTest.tbd (3 slices)
Undefined symbols for architecture x86_64:
"OBJC_CLASS$_XCTestCase", referenced from:
OBJC_CLASS$__TtC6Camera11toucanTests in toucanTests.o
"OBJC_METACLASS$_XCTestCase", referenced from:
OBJC_METACLASS$__TtC6Camera11toucanTests in toucanTests.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

@jakeatwork
Copy link

i'm on react-native 0.37 and here's how i was able to get this to work (i think the readmes/documentation are slightly behind react native).

  1. on a clean branch with none of the onesignal work...
  2. run npm install react-native-onesignal --save
  3. run react-native link
  4. for iOS follow the podfile instructions (be sure to follow the react native version note carefully)
  5. for iOS follow the code additions in the instructions
  6. for android follow the android instructions (most of the code should be there from the link command, but double check everything)
  7. for android be sure to use import com.geektime.reactnativeonesignal.ReactNativeOneSignalPackage; and NOT import com.geektime.rnonesignal.ReactNativeOneSignalPackage; (some old documentation had the rnonesignal and that's since been updated)
  8. then complete config and setup and all files
  9. hopefully that does the trick for you...please reply if you have any issues as i spent some time on both android and iOS over a few branches to get this to work.

YMMV if you are using something lower than v0.37 of RN. good luck.

@joaquin102
Copy link

Problem solved!!

Just from the project navigator, go to the Pods section, find the oneSignal.framework and drag it into the 'Link Binary with libraries' located under your target and thats it!. So basically its better to just user the framework rather than the pod file.

@osamaabdalla
Copy link

Solved by manual linking :
https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual-linking

@naytun
Copy link

naytun commented Feb 10, 2018

In my case I had to add the following line in podfile and run pod install again. Then run Clean and build again.
pod 'react-native-onesignal', :path => '../node_modules/react-native-onesignal'

@joshuapinter
Copy link
Contributor

In my case, running an older React Native 0.39.0 project, I had to react-native link, Clean build and then Build the project again.

@yusuf987
Copy link

in my case libRCTOneSignal.a was missing in Link library with binary i just added and issue resolved

you can follow the second step here https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual-linking

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests