Echoprint iOS Missing Framework - ios

Has anyone downloaded the demo iOS version of EchoPrint? It's an audio fingerprinting open source software.
I just downloaded it but it appears to missing framework... any place to get a functioning version?

Follow the steps to get it the framework running
Download latest version of boost . The download link for latest 1.51.0 for boost library
Extract the boost_1_51_0.tar.gz file.
Download the project for generation of libechoprint-codegen-ios.a famework from here
Open the project and set the Header Search Path as the path of the extracted boost folder. e.g. in my case the below is the path
/Users/$(USER)/Downloads/boost_1_51_0/boost_1_51_0
Open the echoprint-codegen-ios.xcconfig file and add the same path in the HEADER_SEARCH_PATHS
Now clean and build the project would give you libechoprint-codegen-ios.a under Products folder
Now download the Echoprint iOS Sample
Building this project would give you Errors as the files of ASIHTTP folder and the libechoprint-codegen-ios.a framework is missing are not added to the xcode project but are physically present in the project Folder.
Delete this folder from the project and drag-drop the physical folder to the xcode project. Also delete and add only the libechoprint-codegen-ios.a framework to this project from the previously compiled project.
Now you are ready with an error-free code.

Update for people who are still interested in this and are using XCode 5 + iOS 7 + LLVM 5.0.
I have forked the sample repo, upgraded it to XCode 5+ iOS 7 and modified it to automatically build in the echoprint-codegen dependency as a sub-project: https://github.com/rexstjohn/echoprint-ios-sample.
The above instructions will no longer work for the latest XCode + iOS.

Related

How to compile xcode project?

I have an Xcode project for an iOS app as a legacy project. Full source code, it works 100%. I need to publish it to AppStore. But I have never used Xcode, macOS or done any ios app development related stuff and I have problems to compile it and not sure if I am doing it correctly.
I tried "Product->Run" and "Product->Build". I always get "Build Failed" and some errors. In the navbar, I choose "iPhone 7 (10.3.1)" and some other versions as well. Errors I get -
But as I mentioned, it is a finished app and I don't feel I should be making any changes to the code and not to a 3rd party code (SDWebImage).
I want to compile this project so I get the .ipa file. What is the step-by-step approach to getting a .ipa file from source code?
You mentioned in the comments that you downloaded and unpacked a .zip of the project. Your issues are most likely caused by a conflict in the way the dependencies were setup.
Try delete the pods folder and run pod install in terminal, in the root project folder, to re-install all the project dependencies.

How to import external iOS framework in flutter plugin?

I'm doing a flutter plugin for stream video by using RTSP protocol. I had no problem develop it for Android, but in iOS things are more complex. I have to use an external library (SGPlayer) for getting the player work. I also downloaded the demo that uses this library and seems to work. This library is NOT on Cocoapods and I need to import it directly into the plugin project from my file system. the downloaded and compiled file structure of the plugin that I would like to use looks like this:
My problem is adding the ".framework" extension file correctly to the iOS project in a way that I can use it to develop the flutter plugin (iOS part).
UPDATE:
I built the project with the framework by using instructions at this link: https://github.com/flutter/flutter/issues/17978
The problem now is that while compiling the framework it change the umbrella header because, I think, it's not using the framework module.modulemap but another one. The result is that is importing just some header and implementations, and not all.
1.Place myFramework.framework to iOS plugin folder /ios ex: myPlugin/ios
2.Update iOS plugin file: myPlugin/ios/myPlugin.podspec
Adding the below line at the bottom of the file, above 'end'
s.vendored_frameworks = 'myFramework.framework'
In Terminal : cd to myPlugin/example/ios
run command
pod install
or
pod update
Now we can find the iOS plugin code by open iOS project (example/ios/Runner.xcworkspace) in XCode and go to
#Lorenzo you can pack your plugin and make private CocoaPod or Carthage repo.
Here is a good article howtos

SocketIO manual installation for iOS app swift 4 xcode 9

I am having difficulty installing SocketIO for my Swift 4/Xcode 9 app. I have tried Swift Package Manager and Carthage and both did not work. Separate threads for those issues. I do not want to use Cocoapods.
Is there a way to manually install the libraries? I can drag and drop the Source files successfully however I don't know how to add the SocketIO and Starscream frameworks from the Git downloaded files. I can figure out how to link the binaries and that stuff myself, just want to know where I can physically extract the two frameworks from in the downloaded file.
Did you check in your project folder, the Carthage folder then Build folder then iOS folder and same with the Checkout folder?

can't find ios framework headers in react native module library

I've included an iOS framework in the xcode project for the React Native module library I'm creating. Everything compiles fine when I build the ios project in the RN library itself, but once I npm install the library into my main RN project, running react-native link <project-name>, and then build in xcode, the included framework headers are not found.
I checked the normal build settings (Header, Framework, and Library search paths) and they all have $(inherited) listed.
Repo for the react native library that is WIP https://github.com/bsy/react-native-pollfish
Download SDK file from here . May be owner removes the SDK from github.
Please add this line in your package.json file.
"rnpm": {
"ios": {
"sourceDir": "./ios"
}
}
Also, unable to install your plugin with "npm install".
The solution to this issue was to make sure that both your Xcode subproject and your main Xcode project both point to a relative path to the SDK.
Steps to take:
Open your application's Xcode project.
If you don't have a Frameworks group in your project, create one.
Open ~/Documents/PollfishSDK using Finder.
Drag the pollfish.framework file into the Frameworks group of Xcode's Project Navigator. In the displayed dialog, choose Create groups for any added folders and deselect Copy items into destination group's folder. This references the SDK where you installed it rather than copying the SDK into your app.
For 3rd party framework set the framework search path in the library project-
$(SRCROOT)/../../../ios/Pods/3rd_party_framework_folder_name

how add manually a cordova plugin to ios existing project

i've a cordova project created via cordova cli command.
i build the project for Android and iOS platform but... i copied the build project into respective workspace (eclipse/xcode) and i updated that single project.
Now i need to add a plugin.
The project into cordova project folder is now so outdate so i would add the plugin via cli and copy the plugin to the respective project.
I copied successfully the generated plugin into the android project, but i'm not able to do the same thing with iOS.
For example i added the console plugin for iOS
cordova plugin add org.apache.cordova.console
if i open and run the build project it work and i see my message in console, but if i try to copy the generated plugin into my existing project it doesn't work.
nobody could help me to understand how add manually a plugin into my existing project?
update
yes i know, i'll try to explain better
i have my cordova project under folder /Document/cordova
when i made an ios build via command line cordova put the built project under /Document/cordova/platforms/ios
well i copied the folder ios under /workspace/my-project-name
after some work under workspace i see that i need to add a cordova plugin.
i added the plugin via command line and it was added to /Document/cordova/platforms/ios
at this poin i have a project under /Document with plugin but asset outdated and one project updated without plugin under /workspace
i'm trying to copy from built project to /workspace project.
i copied
/workspace/my-project-name/my-project-name/Plugins
/workspace/my-project-name/my-project-name/config.xml
/workspace/my-project-name/www/plugins
/workspace/my-project-name/www/cordova.js
/workspace/my-project-name/www/cordova_plugins.js
but it doesn't work... i missed somethings?
After reading it several times I think I get more less the idea...
Well, I am not sure why do you want to copy the ios project outside the current location. I suppose you have a good reason to do it, however you can always tweak that project instead of going back and forward, cordova will not impact non cordova related files each time you run "cordova build".
Are you familiar with control versioning? Git, SVN, mercurial? If so it is simple just we which files were impacted once you add the plugin and copy those... If no, I suggest using control versioning anyways to help keep track of your code changes.
NOTE: Be aware if you build the cordova projet and then you just want to update the files noted above it is highly likely that it won't work, that is why you run "build" is not a simple file sync. I recommend taking the new cordova project with the plugin added and then just add you personal tweaks on the ios in the other folder. Or just tweak the ios folder inside platforms folder...
I hope you are doing for good reason. Anyway you are missing to copy below file to work
/workspace/my-project-name/my-project-name/platforms/ios/my-project-name/config.xml
Copying the cordova iOS platform folder is not a good idea. The reason is, cordova builds an Xcode project in the platform folder, and there is some sort of caching/built in references to absolute location of the original Xcode project. Therefore it would be unclear to you and to Xcode which file is being referenced from within Xcode. This may have caused some other unnoticed errors in the project as well. So therefore, instead of keeping original project path available along with the new path, I would recommend renaming the original project folder in order to remove the ambiguity. This way, you will assure that the right file versions are referenced.

Resources