tanersener / react-native-ffmpeg

FFmpeg for react-native. Not maintained anymore. Superseded by FFmpegKit.
GNU General Public License v3.0
400 stars 51 forks source link

'mobileffmpeg/ExecuteDelegate.h' file not found #203

Closed milesscherrer closed 3 years ago

milesscherrer commented 3 years ago

Description When installing new version 0.5.0 with full-gpl I get the following error in full-gpl/RNExecuteDelegate.h:

'mobileffmpeg/ExecuteDelegate.h' file not found

on import:

import <mobileffmpeg/ExecuteDelegate.h>

Expected behavior App builds correctly

Current behavior Failure building

Screenshots

Logs

Environment React Native 0.63.2 Cocoapods 1.7.5 Xcode 12.0

Other Cleaned build, deleted DerivedData. Cleaned pod cache, deintegrated pods, pod install, pod update. Made react-native-ffmpeg framework/header search paths recursive.

tanersener commented 3 years ago

Have you tried cleaning the pod cache?

pod cache clean react-native-ffmpeg --all

Additionally, I can't see your cocoapods version. Can you provide it too, with other issue template fields, like Xcode version?

There is a test application at react-native-ffmpeg-test repository. I would suggest try running it and see if it has the same error too.

milesscherrer commented 3 years ago

Sorry updated the issue template with environment. Did clean the pod cache and solutions from similar errors in the flutter version. Will try out the test repo asap though.

milesscherrer commented 3 years ago

Example project worked. Any idea what could be the problem?

tanersener commented 3 years ago

Can you compare Build Settings of your app with Build Settings of test application?

Especially Header search paths and Framework search paths. Are they the same?

milesscherrer commented 3 years ago

Same for Header Search Paths except test project using "full" instead of "full-gpl".

For Framework Search Path the external libs are available in test project, but not in my project:

"${PODS_XCFRAMEWORKS_BUILD_DIR}/{external_lib_name}"

Should all of the external libs of full-gpl show here?

tanersener commented 3 years ago

Test application has "${PODS_XCFRAMEWORKS_BUILD_DIR}/{external_lib_name}" but your app doesn't, right?

Does adding it make a difference?

Btw, this should be automatically handled by cocoapods. You shouldn't need to edit them.

milesscherrer commented 3 years ago

Added manually as I could not get cocoapods to do it, still same error. I will keep looking for other differences to example project but do you have any other ideas?

tanersener commented 3 years ago

Sorry, I don't have any other ideas.

chip-astg commented 3 years ago

I get the same error when I try V0.5.0.

It builds fine with 0.4.4 (but has the other error related to Xcode 12 running simulators). Upgrading to 0.5.0 the build fails with "mobileffmpeg/ExecuteDelegate.h file not found". I'm using min-gpl

tanersener commented 3 years ago

I can't reproduce this issue. So, I don't have any other suggestions.

milesscherrer commented 3 years ago

A difference is that the example project has these User-defined Build Settings from Config.file (xcconfig).

Screenshot 2020-10-28 at 09 27 03 Screenshot 2020-10-28 at 09 27 22

Due to no knowledge of how this works I don't know what to do about it - any idea? Not sure what to add as the value if adding as a User-defined Build Setting or if it should be added to my xcconfig file somehow.

tanersener commented 3 years ago

Those user-defined build settings are not added manually. I never edit project or workspace files myself. And I don't recommend doing it. cocoapods is responsible of updating them.

When I face a similar issue what I do is

  1. Delete build folders manually.

    rm -rf node_modules
    rm -rf ios/build
    rm -rf ios/Pods
    rm -rf ios/Podfile.lock
  2. Clean Xcode setting by running xcodebuild cleanunder ios folder

  3. Check my Podfile and compare it with a working version

  4. Check the whole build output with npx react-native run-ios --verbose. Because sometimes there is another warning or error causing this

I suggest trying these steps.

milesscherrer commented 3 years ago

Tried all and --verbose gives the same error. There are warnings for other pods like:

iOS Simulator deployment target ‘IPHONEOS_DEPLOYMENT_TARGET’ is set to 7.0, but the range of supported deployment target versions is 9.0 to 14.0.99.

but these do not effect building for 4.4 or any other pods.

tanersener commented 3 years ago

You shouldn't have those warnings. If you have them why don't you manually edit the deployment targets from Xcode? Maybe they are causing this issue.

Anyway, if you provide me steps or a sample app to reproduce this issue I can help you. But other than that I don't have any other suggestions.

samuthekid commented 3 years ago

I have this error too. image But I don't have iOS experience to help :s

samuthekid commented 3 years ago

Tried all and --verbose gives the same error. There are warnings for other pods like:

iOS Simulator deployment target ‘IPHONEOS_DEPLOYMENT_TARGET’ is set to 7.0, but the range of supported deployment target versions is 9.0 to 14.0.99.

but these do not effect building for 4.4 or any other pods.

what's your platform target version? try adding the next line to your pod file before the target: platform :ios, '11.0'(or 9)

samuthekid commented 3 years ago

also, an example repo with the problem https://github.com/samuthekid/ffmpegdemo

milesscherrer commented 3 years ago

Updated every pod and platform target to 11.0 and 12.0 still same issue. Rolled back to 0.4.4 and use device for now.

tanersener commented 3 years ago

also, an example repo with the problem https://github.com/samuthekid/ffmpegdemo

This project works on my environment.

Screenshot 2020-10-29 at 21 10 13

This is my react-native info. Please check it with yours and see if there is a difference.

react-native info
info Fetching system and libraries information...
(node:15031) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
System:
    OS: macOS 10.15.7
    CPU: (8) x64 Intel(R) Core(TM) i7-5775R CPU @ 3.30GHz
    Memory: 2.54 GB / 16.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 14.12.0 - /usr/local/bin/node
    Yarn: 1.22.5 - /usr/local/bin/yarn
    npm: 6.14.8 - /usr/local/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.10.0 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.1, DriverKit 19.0, macOS 10.15, tvOS 14.0, watchOS 7.0
    Android SDK:
      API Levels: 21, 24, 28, 29, 30
      Build Tools: 26.0.1, 28.0.2, 28.0.3, 29.0.0, 29.0.0, 29.0.0, 29.0.1, 29.0.2, 29.0.3, 30.0.0
      System Images: android-16 | Intel x86 Atom, android-16 | Google APIs ARM EABI v7a, android-29 | Google Play Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: 4.0 AI-193.6911.18.40.6626763
    Xcode: 12.1/12A7403 - /usr/bin/xcodebuild
  Languages:
    Java: 1.8.0_241 - /Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/Home/bin/javac
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: 16.13.1 => 16.13.1 
    react-native: ~0.63.3 => 0.63.3 
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found
samuthekid commented 3 years ago
Managers:
    CocoaPods: 1.7.1 - /Users/samuel/.rvm/rubies/ruby-2.5.1/bin/pod

I found the problem :) I had cocoapods version 1.7.1, but after upgrading to 1.10, the error disappeared! 👏 Thanks for the help!

chip-astg commented 3 years ago

Upgrading CocoaPods from 1.8.4 to 1.10 fixed it for me as well.

Thanks! It's great to be able to use the Simulator again.

milesscherrer commented 3 years ago

Nice I upgraded cocoapods to solve the arm64 issue but sounds like it solved this one too. Thanks for all the help!