What IOS version Flutter Ffmpeg at least - dart

I am working on some Flutter demo project in which I have to get metadata from a video file and save it in a variable. I have used FFmpeg but it is taking around 20 seconds for a 6 minute video(ffmpeg.getMediaInformation()). Is there any way I can get the metadata instantly, and save it in a variable?
Also, I need to know which is the minimum target version of IOS Flutter FFmpeg Supports.

platform :ios, '9.3' definition to your ios/Podfile file.

Related

Error message - RNFirebase core module was not found natively on iOS

React Native Firebase won’t install on iOS React Native project. It works fine on Android.
I followed this instruction.
https://rnfirebase.io/docs/v5.x.x/installation/initial-setup
I set up Firebase, added the downloaded plist file via XCode, installed and set up Cocoapod.
The moment I add the following line to my App.js, the simulator returns an error message.
import firebase from 'react-native-firebase';
The error message: “RNFirebase core module was not found natively on iOS”
I’ve tried a few things I picked up from this forum:
https://github.com/invertase/react-native-firebase/issues/614
I commented out following lines from Podfile
use_frameworks!
And then pod install, pod update
on Xcode, checked the Build Phases/ Link Binary with Libraries section. I checked libRNFirebase.a was already there.
I've been trying this for a few months now on and off. And I haven't found a way to make React Native Firebase install on iOS project. Any pointer would be much appreciated.
I'm currently maintaining the react-native-firebase v5 branch (current stable) and we do have a problem with the header search paths right now for some reason.
I don't have a definitive fix, but I constructed a demo that goes from react-native init, then installs react-native-firebase, and does all the things necessary such that the project builds and runs on iOS and even archives in release mode.
You may see it here: https://github.com/mikehardy/rnfbdemo
The only thing that is important at the moment is that you need to put one non-documented thing in your Podfile after following all the install instructions, as the last line before the final end
system("mkdir -p Pods/Headers/Public/FirebaseCore && cp Pods/FirebaseCore/Firebase/Core/Public/* Pods/Headers/Public/FirebaseCore/")

Lock React Native version in xcode IOS

I have been using React Native for the past 4 of months working both on Android and IOS. According to React Native Docs there will be an updated version of React Native every month. So, I keep updating it every month which is good, but the problem is I am using a couple of npm packages which is getting outdated due to react-native update which in-turn causes errors in my project.
For Android, we can lock the react-native version by specifying the version number in gradle. And for the Javascript part we can lock it in package.json. But for IOS I am not able to find anything like that.
So, is there way to lock the react-native version in IOS xcode?
Yes, make your package.json file at root path - react-native version to fixed number. for example:
"dependencies": {
"react-native": "0.50.4",
}
So every time you do npm install, that given version will be installed. without postfix ^ it will never be upgraded.
The react-native version of iOS is just a project / static library import from node_module/react-native/Libraries folder, via react-native link.
Update 1:
Take RCTAnimation.xcodeproj in project for example,
you can find it locate at node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj.

Cordova project can't remove plugin after update my project

I am trying to upgrade my Cordova Ionic project ios platform from 3.0.1 to the newest 4.5.2 using xcode 9. I remove the ios platform and re-add it again under CLI 7.1.0. Then I restore all the .xcodeproject settings by copy the old .xcodeproject into the new ios platform and reset all the path necessary in the workspace. Luckily my project build successfully and runs fine in the debug mode.
However when I am trying to upgrade some out of date plugins in the new project, I found that I can only "add" plugin, which everything just goes fine. But when I am trying to remove any plugin (whether they have been added in the new workspace or not), the CLI always show red font message: Error: Could not find *-Info.plist file, or config.xml file.
This message will also show up if I tried to run ionic prepare ios command. Interestingly enough, if I use the .xcodeproject file cordova originally generated, then all the things will just work fine.
Any idea on what specific settings is wrong so that the CLI could only recognize the new .xcodeproject file but not the old .xcodeproject file?
To answer "why don't want to use the new .xcodeproject automatically generated". My project is pretty huge which contains 4 different targets and each of them have different project settings. First of all, CLI don't know that and will only generate one target and I have to duplicate it another 3 times. Secondly, it will be such a pain to restore each target settings one by one. And thirdly the new project doesn't contain any changes in the iOS native code I made such like in appDelegate class. Therefore I just want to find a trick way to make it through.
Cordova creates the files automatically, I believe copying a file generated from an old version and pasting a new one will break your project.
What happens if you remove the platform, add again but without reusing the .xcodeproject? The normal thing is that you got to work normally.
Another option would be to upgrade Cordova or a downgrade, using nvm you can have several versions of Nodejs and Cordova.
You didn't mentioned in your question how you are removing the ios platform , try to do them as follows:
cordova platform remove ios
cordova platform list here you can verify that ios platform deleted
cordova platform add ios --save
I don't know what version you are using but cordova 6.5.0 should solve the ios-build issues. you can install using like below:
sudo npm i -g cordova#6.5.0

Very high cpu usage audio to audio call libjingle_peerconnection

I'm using the pod 'libjingle_peerconnection' version (11177.2.0) at IOS.
The cpu runs at 103% (Iphone) when I'm making an audio to audio call on an and to an IOS device. It seems that it is an bug.
Because the PacerThread runs very high. So I was searching at that issue and more people have that problem:
https://bugs.chromium.org/p/webrtc/issues/detail?id=5506
At that topic the bug is marked as fixed. Nice:). But how can I get an updated library? I can't find anywhere an newer version.
Is it possible to build the libjingle_peerconnection for IOS myself with all the webrtc bug fixes included?
Thank you very much!
You can build it yourself using the following steps:
Checkout depot_tools using:
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=`pwd`/depot_tools:"$PATH"
Fetch webrtc source code using:
fetch --nohooks webrtc_ios
gclient sync
Build your library using:
cd src
webrtc/build/ios/build_ios_libs.sh
use the following if you dont want the framework but the static library:
webrtc/build/ios/build_ios_libs.sh -b static_only
Source: https://webrtc.org/native-code/ios/

Dart docs say to set Flutter SDK path in Atom dartlang settings, but no such option exists

Under Getting Started > Getting Flutter at https://dart-atom.github.io/dartlang/:
"And from Atom, open the dartlang plugin’s preferences and set the Flutter SDK path to where the Flutter repo was cloned locally."
I have opened the settings for the dartlang plugin in Atom. There is no setting for Flutter SDK path. There is however a setting for Dart SDK Location. Is that the value that I should change to "where the flutter repo was cloned locally"? If not, where is the setting? Are the Dart docs wrong / in need of an update?
I should probably note that the Dartlang: Create Flutter Project command in Atom works even if this step is skipped. So I am more confused because I don't know if it's unnecessary, or I did something extra/right by accident, or this is expected but I'll run into issues later from not being able to update a setting that doesn't exist.
those instructions were updated slightly before the lastest version of the atom plugin was published; you should see the Flutter SDK field in the settings now.
The process for developing with Flutter did change a bit over the weekend. You'll probably want to:
pub global deactivate flutter
clone the flutter repo (see http://flutter.io/getting-started/)
set that Flutter SDK field in the atom plugin, and
add the flutter/bin location to your system path
That first deactivate step is to ensure that you don't have copies of the pub globally activated app on your path. The new workflow instead uses a 'flutter' shell script.

Resources