Google Speech To Text Api using Objective C - ios

I am using GoogleSpeechRecongnization api within my project for Speech To Text.
I have copied all required files and installed pod from sample of Google for Speech To Text Api. Also copied these 2 files AudioController, SpeechRecognitionService from the Sample Code to implement the feature.
Now when I compiled my code, I received errors as in attached image.
While same steps and files are working perfectly in demo app with the custom interface, created by me.
Please help me to fix these in my main project. Thanks

The SpeechRecognitionService require google service to be linked which lies in the google folder of the sample Project, please add that too in your project, it should be working..
See where is google folder here
Cheers.

Check demo project supported architectures in build settings...
I think you need to add missing architecture in your build settings
Maybe it's in your project and maybe it's in the Pods project

Related

Missing required module 'MLKit' error while using a framework that uses MLKit

Recently I created a iOS Framework called "MLKit Framework" that uses MLKit Face Detection library. In order to achieve that, I just imported the library in Podfile
according to documentation.
As expected, that created a xcworkspace called MLKit Framework. In order to test that new framework, I created an app called MLKitApp and added that app to the same workspace. Then I added the framework MLKitFramework to that app and tried to build it but I get the error statement: "Missing required module 'MLKit'"
as the image below.
Why Am I getting that error? What I'm doing wrong?
Reproducible Example
I created a Reproducible Example here. In order to execute that example execute the following:
Execute pod install for MLKitFramework;
Add MLKitApp to MLKitFramework.xcworkspace;
Add MLKitFramework.framework as a MLKitApp Frameworks, Libraries and Embedded Content;
Try to build MLKitApp.
And voilà
You can't do this because your's "MLKitFramework" have dependency to MLKit.
You should add MLKit framework to MLKitApp additionally.
Have you checked out the ML Kit Vision Quickstart? Please note it contains two apps: one for swift and another for objective-c. You check check out the swift app for your purpose - it contains face detection feature. The Vision Quickstart is similar to your MLKitApp and shows you an example how to integrate with ML Kit cocoapods directly without needing to introduce an "MLKitFramework" or manually manage dependency configuration. Instead, you should let CocoaPods manage that. You can use this Quickstart as a template for implementing your own app.
I don't now if this helps after all this time, but for future references here it goes:
Google hides the header, so you have to manually specify the header you want to add so your test can find it.
If you go to: Project> targets YourProjectTest > Build Settings > Search Paths > Header Search Paths and add:
"${PODS_ROOT}/Path-to-the-Header-in-your-Pods-Folder/Soucers"
In my case it was:
"${PODS_ROOT}/GoogleMLKit/MLKitCore/Sources"
It worked big time for me.
I hope it helps :)

Swift iOS GoogleAPIClientForREST – Shell Script Invocation Error GTMSessionFetcher.framework: No such file or directory

I'm programming a Swift iOS app in XCode 9.2 (Dated, I know), and I've tried to integrate GoogleAPIClientForREST using Cocoapods. When you integrate GoogleAPIClientForREST (and possibly other pods, I don't know), it also downloads GTMSessionFetcher. Since the integration of the pods, the app won't run and gives this Shell Script Invocation Error:
/Users/username/Library/Developer/Xcode/DerivedData/Teachers_Assistant-aphjxihtqtmedabcymmxjlmxduzc/Build/Products/Debug-iphonesimulator/Teachers Assistant.app/Frameworks/GTMSessionFetcher.framework: No such file or directory
However, I can't open Teachers Assistant.app, as it's not a folder. GTMSessionFetcher.framework exists, but inside of the folder circled in red in the image at this link, not inside the .app file circled in blue.
I've tried the suggestions at this link, the suggestions in the question at this link, this link, this link, and this link. None of them have worked, though if you think that there was something I did wrong while trying to carry out those steps feel free to tell me.
All of my code is online at this repo, including the podfile. Thanks for the help!
Additional information: I plan on using the Google API to automate Sheets as a sort of storage information system to log attendance data and other miscellaneous information, if that helps at all.
Project's name should not contain special characters like ' or space, this could create some problems when Cocoapods try to link the libraries. I suggest you to change your project's name to TeachersAssistance (it worked for me). Here is the suggested steps:
Change project's name in the navigator. Xcode will recommend you to refractor the project, accept it:
Update podfile to point to new targets's names
Cocoapods will create a new workspace TeachersAssistance. Use it and delete the old one.
Remove Pods_Teacher__Assistance from new workspace. From now it will use Pods_TeachersAssistant.
Compile again and enjoy your project :)

PJSIP: Error file not found

I working on Project a project to make an iOS App to work like Viber/Skype using VoIP Protocol. For this I am using pjsip SDK but I get some Error :(
File not found,
unknown type name, etc
Please help.
Thanks in Advance.
Based upon your screenshot,you have renamed the sample files in pjsipapp.but you have not configured the header paths and libarary paths.
In your target click build settings and in search paths add your library paths.Hope it helps

Integrating YouTube Data API v3 iOS

I am trying to integrate the YouTube Data API v3 for iOS into my project. In the end all I want to do is upload videos from all instances of the app to a company owned youtube channel, and get the URL to be able to embed the videos in a website. I can't figure out how to integrate the client library for iOS though. I get compile errors, or ARC issues that I can't figure out how to resolve. The files are found here: https://code.google.com/p/google-api-objectivec-client/source/checkout
In short this is what I did:
In my project I added the GTLYouTube_Sources.m, GTLCommon_Sources.m and GTLNetworking_Sources.m.
Make sure that Build Phases -> Compile Sources the compiler flag '-fno-objc-arc' is set for these three files. This should fix your ARC issues.
You may need to set some search paths in your Build Settings if the compiler complains that it can't find a file.
Hope this helps!
I had issues but with a combination of google's page + a youtube tutorial I was able to get things working, I still don't know how to search yet but here are my notes on the subject:
This file points in the right direction - https://code.google.com/p/google-api-objectivec-client/wiki/BuildingTheLibrary
This video is better - https://www.youtube.com/watch?v=q7m3qCsQBEE
As per my comment on the video stream - "
I did this tutorial and receive 9 linker errors referencing the derived data folder and that "file was built for archive which is not the architecture being linked (x86_64)" but have "Standard Architectures" selected in the Build Settings for the project (armv7,arm64). This is using Xcode 6 but I can try on Xcode 5.1.1 if needed (though I don't think this issue will abate as it supports the 64bit architecture as well. Going into the GTL Project and selecting the GTLTouchStaticLib and changing the architecture over to Standard removed the linker errors and the build succeeded! https://www.dropbox.com/s/f6tc6t33r5k5021/Screenshot%202014-10-10%2012.08.00.png?dl=0”
API Calls may still with 401 despite having an API key due to a known issue - https://code.google.com/p/gdata-issues/issues/detail?id=5770#makechanges to fix is remove the bundle ID from the google console.
i'm giving an updated answer for this question. so it can be helpfull to community.
NOTE:- GTL is converted to GTLR . GoogleLibrary is updated. i Recommend to use cocoapods because it will be simple.(according to me) here is the link for this migration
1) create pod file for your project. by pod init & pod install in your terminal. it will create blank pod installation.(ignore if you have done already)
2) add these pod library name in pod file.
here is the some services that can be useful
pod 'GoogleAPIClientForREST'
pod 'GoogleAPIClientForREST/YouTube' //here '.../YouTube' is the service. you can use ".../Caledar' ,".../Translate" or which you want.
pod 'GTMAppAuth'
3) add these headers (i recommend to create Prefix Header '.pch' for your project.)
#import <GTMAppAuth/GTMAppAuth.h>
#import <AppAuth/AppAuth.h>
#import "GTLRYouTube.h" //here you can change double quotation ("...") with (<...>) if this throws the error "library not found".
4) this step is optional..
select your project target & go to build settings. and search for OtherLinkerFlags and add $(inherited)
NOTE:- if you can use Firebase to use google's service it will be more easy.(i've tried it and it was simple than google developer console. this is my personal opinion.)

Using DCMTK in iOS application

I want to use DCMTK in my application and have successfully compiled DCMTK 3.6.0 for the iOS Simulator. Then I created a workspace into which I added the DCMTK project and my application. I added the .a files as target dependencies and linked the binaries. I think I am missing the part where I have to set the header/library search paths. I try to include a header file say #include "dcm2xml.h" and it says file not found. What am I doing wrong?
I have seen this. -> How to use DCMTK in an iPhone project But I think there's a simpler way without using that framework.
you can find some info on how to compile dctmk for ios and simulator here,
and from here you can download a demo project which make use of the dcmtk. It will not display the image but will print the information found in some tags found in the file. I hope it will help you start.

Resources