tinycreative / react-native-intercom

React Native wrapper for Intercom.io
MIT License
405 stars 279 forks source link

React Native 0.60 Update? #309

Closed ebellumat closed 4 years ago

ebellumat commented 5 years ago

Exists a roadmap to update this lib to use in React Native 0.60? Autolink doesn't work with this version because there is no pods.

cayodonatti commented 5 years ago

I need this update too. Current version causes import mismatch for RCTBridge.

ebellumat commented 5 years ago

I finded a way to install this depedency on React Native 0.60.4 by myself.

Don't run react-native link for this dependency. Don't try to install manually.

Follow these steps and only configure the AppDelegate.m

Put this line on your pod file and run pod install

pod 'react-native-intercom', :path => '../node_modules/react-native-intercom'

After that, instead put this import #import "Intercom/intercom.h" in AppDelegate.m, put this import #import <Intercom/intercom.h> to use this dependency from Pod

I Hope this helps, folks.

maxKimoby commented 5 years ago

Please update the package to support react-native 0.60.5

maxKimoby commented 5 years ago

@ebellumat I tried your solution, it doesn't work when compiling the app for release but works in development. Can you confirm you got it working when compiling? I am using fastlane to compile, and that is where it crashes.

ebellumat commented 5 years ago

Here the build to release is working very well. Try to build in Xcode in Release mode before send to Fastlane.

ebellumat commented 5 years ago

If you can show the logs of Fastlane i can help you more precisely

javiera-vasquez commented 5 years ago

I finded a way to install this depedency on React Native 0.60.4 by myself.

Don't run react-native link for this dependency. Don't try to install manually.

Follow these steps and only configure the AppDelegate.m

Put this line on your pod file and run pod install

pod 'react-native-intercom', :path => '../node_modules/react-native-intercom'

After that, instead put this import #import "Intercom/intercom.h" in AppDelegate.m, put this import #import <Intercom/intercom.h> to use this dependency from Pod

I Hope this helps, folks.

Hi, when I try your solutions the compiling process fail equal to @cayodonatti, Any idea of something I can change? I'm doing the only import from pods, thanks


  "_UISceneWillEnterForegroundNotification", referenced from:
      +[ICMBridge load] in Intercom(ICMBridge.o)
  "___isPlatformVersionAtLeast", referenced from:
      -[IntercomSDK_IntercomConversationCollectionViewController insetsForAccessoryView] in Intercom(IntercomConversationCollectionViewController.o)
      +[IntercomSDK_ITBUpload createUploadForMediaAsset:completion:] in Intercom(ITBUpload.o)
      +[IntercomSDK_ITBUpload processImageDataForUpload:mediaAsset:info:imageUploadDataUTI:completion:] in Intercom(ITBUpload.o)
      -[IntercomSDK_IIMInputAccessoryView createConstraints] in Intercom(IIMInputAccessoryView.o)
      -[IntercomSDK_IIMInputButtonContainerView createConstraints] in Intercom(IIMInputButtonContainerView.o)
      -[IntercomSDK_IIMMediaViewController updateCollectionViewContentInsets] in Intercom(IIMMediaViewController.o)
      -[IntercomSDK_IIMMediaViewController layoutExpandButton] in Intercom(IIMMediaViewController.o)
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)```
acollazomayer commented 5 years ago

@s0wk I am presenting the same issue, any news here?

mrmello commented 5 years ago

hey @s0wk and @acollazomayer , I got it working for iOS after updating to Xcode 11.1. My setup: ... "react-native": "0.60.4" "react-native-intercom": "^13.1.0"

pofile ... pod 'react-native-intercom', :path => '../node_modules/react-native-intercom'

The build worked in a simulator running iOS 13.1 and on a real device running iOS 12.4. Didn't try the release build yet.

Hope this helps

rodrigofeijao commented 5 years ago

updating Xcode to 11.x solved this problem.

acollazomayer commented 5 years ago

For anyone presenting this issue force Intercom version to 5.4.1, If you cant upgrade xcode yet

ulazarevic commented 5 years ago

I did everything as you said but I'm having an issue with importing Intercom in AppDelegate.m file.

'Intercom/intercom.h' file not found

Do you have any idea what's the problem? I'm using XCode 11.1

rodrigofeijao commented 5 years ago

@ulazarevic you should import it using #import "Intercom/Intercom.h" if it shows that it isn't found, you should check if you've installed Pods properly or liked those libraries properly.

ulazarevic commented 5 years ago

I tried importing it like that, still not working. I don't know which linking this library requires? I did everything @mrmello said and I got this error.

mrmello commented 5 years ago

@ulazarevic I imported this way #import <Intercom/Intercom.h>, sorry for not mentioning it

ulazarevic commented 5 years ago

@mrmello I tried to import it that way too, and still not working, do you know which version of Intercom you installed with pods ? Mine is 5.5.1, I don't know if that's the problem maybe.

mrmello commented 5 years ago

Mine too,

As I understood, the project is having trouble to find the Intercom package. It might be worth trying the step 4 - Manually Link the library in Xcode of the installation guide. Although I'm not sure if that's going to solve it for you

sorry if can't help any further =/

maxKimoby commented 5 years ago

Hey guys, for Android, don't forget to add this line in settings.gradle as well as unlinking your dependencies.

apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)

Your file should have 3 lines along with this one.

It is what makes native modules accessible in android.

ghost commented 5 years ago

@maxKimoby did you by chance run into this issue at all when getting android to work? For some reaosn' i'm having trouble installing for Android. https://github.com/tinycreative/react-native-intercom/issues/324

waclock commented 5 years ago

I'd be happy to help updating this to RN 0.60 if one of the devs could point out what needs to be done. I'm facing issues getting this to work on iOS, Android works without any issues.

smakosh commented 4 years ago

I finded a way to install this depedency on React Native 0.60.4 by myself.

Don't run react-native link for this dependency. Don't try to install manually.

Follow these steps and only configure the AppDelegate.m

Put this line on your pod file and run pod install

pod 'react-native-intercom', :path => '../node_modules/react-native-intercom'

After that, instead put this import #import "Intercom/intercom.h" in AppDelegate.m, put this import #import <Intercom/intercom.h> to use this dependency from Pod

I Hope this helps, folks.

The app crashes

MayoudP commented 4 years ago

Hello guys, just tried to upgrade to 0.60.4 ~ When running pod install I'm getting this error, can't figured out why :'( Any ideas ?

CocoaPods could not find compatible versions for pod "React/Core":
  In Podfile:
    react-native-intercom (from `../node_modules/react-native-intercom`) was resolved to 13.0.0, which depends on React/Core

My podfile :

require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

project 'project.xcodeproj/'

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

target 'project' do
  # Comment the next line if you don't want to use dynamic frameworks
  #use_frameworks!
  #use_native_modules!

  pod 'React', :path => '../node_modules/react-native/'
  pod 'React-Core', :path => '../node_modules/react-native/React'
  pod 'React-DevSupport', :path => '../node_modules/react-native/React'
  pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
  pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
  pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
  pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
  pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
  pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
  pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
  pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
  pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
  pod 'React-RCTWebSocket', :path => '../node_modules/react-native/Libraries/WebSocket'
  pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
  pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
  pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
  pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
  pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
  pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
  pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
  pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
  pod 'react-native-intercom', :path => '../node_modules/react-native-intercom'

  # Pods for project
  pod 'Firebase/Core', '~> 6.3.0'
  pod 'Firebase/Messaging', '~> 6.3.0'
  target 'projectScreenshotsUITests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'projectTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'OneSignalNotificationServiceExtension' do
    pod 'OneSignal', '>= 2.9.3', '< 3.0'
  end

  post_install do |installer|
    installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
        config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'NO'
      end
    end
  end
  use_native_modules!
end
nabilfreeman commented 4 years ago

Hi all, just throwing my hat in. I upgraded 0.59 to 0.61 via a fresh install and react-native-intercom worked out of the box. I just followed the iOS guide in the README.

Either the library has been updated since the above issues or these problems are from patching an existing RN install. I had loads of problems initially starting like this and then decided to go fresh install. Just too much has changed.