Error "_OBJC_CLASS_$_ISTAlertView", referenced from:" - iphone

When I am compiling my code I am getting this kinda errors...
_OBJC_CLASS_$_ISTAlertView", referenced from:
Any clue what could be the reason?

That error shows up when the .m file containing ISTAlertView is not being compiled into the target. The file may be there or it may not be; it's just not getting compiled. If this is from a library, then you're not linking in the library, so the compiler doesn't know where to go to find the ISTAlertView class.
If the file is yours, find it and "Get Info" on it in Xcode. Then go to the "Targets" tab and make sure the checkbox is checked next to the target the file is supposed to be in. If it's already checked, then clean your build and try again.
If it's in a library, then make sure the library is part of the "Link binary with libraries" phase of your target compilation.

The code file ISTAlertView.h and possibly also ISTAlertView.m are not present in your project. Right click on your classes folder and select "add Existing files". Navigate to your Classes folder and check if you can find them there. If not, go looking under the desk :)

It's only .m file that is missing... You didn't provide details about your project, but it if this source in the static library be sure you link it with the project, where the calling source reside. Of and referenced from... which you omitted can tell you which source uses functions from ISTAlertView.m.

Related

Finding the right way to include static libraries in Xcode

First of all I have to say that I'm new with Xcode and I found some things a bit comfusing for beginners.
For now I want to include SQLite support in my test app. I found the wrapper "FMDB" which seems very easy to use.
I was already able to include the .m and .h files into my project and setting the header line for bridging to Swift.
But if I build my app then I will get some link errors. I think the problem is that the sqlite library is missing. But I've no idea to include it. So I searched the web for some tutorials but all I found seems too old and didn't help me.
What I've already done are the following steps: I selected the top item of my project in the Project Explorer. Then I selected my build target and switched to the tab "Build Phases". But now I see no possibility to include the libsqlite.a file. I followed some suggestions and typed the keyword "sqlite" in the search field but I only get the message "No results found."
I'm using Xcode 8 + Swift 3 on Mac Sierra.
I think that U should find libsqlite.a file in the filesystem and only then add libsqlite.a to project by right click on project files in Xcode 8 and selecting "add files to " and select you .a library from system location like Homebrew's sqlite root folder, only then you can select this static library in "+" linking menu. Please read this answer:
https://stackoverflow.com/a/15974037/2835276
I solved my problem by including sqlite3.c and sqlite3.h from sqlite.org so every wrapper works fine.

Tesseract change Language iOS

Can anyone explain me how can I change the language from eng to german.
When i download the new library from the Google Side and I include this in the tessdata the result is NULL.
Can anyone help me please??
I decided to write a new answer.
After testing it out myself, I think the problem is the files are not copied to your device correctly.
Check if 'tessdata' is included in the "Copy Bundle Resources".
You can find that by clicking on your project > target > build phases
if not, click on the + button to add the tessdata files. (Note: make sure "copy items into destination group's folder (if needed) is NOT checked, and "create folder references for any added folder" is CHECKED)
If that doesn't work, please find the method that is copying the tessdata to your app bundle, and check the error that it is returning.
Hope that works for you.

How to link to Boost for iPhone using XCode

I successfully built boost for iPhone thanks to this:
http://gitorious.org/boostoniphone/boostoniphone
However, I'm having trouble linking to it in XCode 3.2.6. I get errors such as:
error: boost/unordered_map.hpp: No such file or directory
I have dragged the "build" folder containing the .a and .o files for arm6, arm7 and i386 into "frameworks", and added the "include" folder which contains the "boost" folder which contains all the headers, to User Paths in the build settings, all to no avail. I would be grateful for some precise, step-by-step directions how to link to this library (i.e. please presume I'm kind of stupid! Which may actually be the case!) Other postings I have found on this subject are rather vague in terms of concrete actions that need to be taken. Thanks in advance for any help.
OK so I worked it out. I will leave aside my feelings of intellectual inadequacy. For those who may have the same problem, here are step-by-step instructions.
First, you must have compiled boost on iPhone using the code and instructions from the boostoniphone project.
Navigate within the "boostoniphone" folder to the "framework" folder.
Click on the "boost.framework" folder in that location, and drag it into the main xcode window, in the left hand side column, into the "frameworks" group (along with all the other frameworks, i.e. Foundation.framework, UIKit.framework, etc.)
That's it.
If you added any build settings while trying to get this to work, remove them.
Note to self: next time, study the example project and copy its settings.

iPhone "_OBJC_CLASS_" compilation error

I am trying to compile my project in Xcode. But i am getting the following error.
"_OBJC_CLASS_$_InfrastructureBenchmarkingViewController", referenced from:
objc-class-ref-to-InfrastructureBenchmarkingViewController in RootViewController.o
4 more of similar type.
Can't understand the meaning of this error?
Small Clarification: Actually the _InfrastructureBenchmarkingViewController was a module in another project. The files pertaining to that I have copied into the new application.
Sometimes it happens when the project definition file (.xcodeproj/project.pbxproj) is somehow messed-up, eg. because of XCode crash or project is taken from someone else, etc.
So try removing InfrastructureBenchmarkingViewController (Delete the file, then choose "Delete reference", so it is not deleted physically from disc) and then again add this file to project (Add > Existing file from the project context menu).
It worked for me several times.
you need to link in whatever framework _InfrastructureBenchmarkingViewController is a part of. Try going to the project window, right click on frameworks and choose add existing framework ....
you should be able to find the framework including _InfrastructureBenchmarkingViewController there.
Seems you have some object files that are not valid anymore. Use the clean option from menu and build it again. That should solve it.

eclipse find resource not compiled

When I click Ctrl+Shift+R in eclipse I get a dialog that allows me to find a resource. However it shows all resources regardless if they are not compiled or compiled. Is there any way to filter so it shows just not compiled resource? Or can I hide compiled resources in some way?
To hide compiled resources when you:
open (Ctrl+Shift+R) the "Open resource dialog",
click on the black triangle on the top right,
then on "Show derived resources": it must be un-selected.
You will not see any .class file.
From: What is new in eclipse3.3
If you want to only search for Java classes, then I suggest to use Ctrl-Shift-T.
For others kinds of resources, I am not sure if you can filter the result of this popup...
See answer from VonC
As an additional note on VonC's solution, this works as long as the classes are contained within a different directory-tree to the source files - for example many projects build the classes files into a target directory which mirrors the directory structure of the src tree.
In most situations, Eclipse will have set the derived flag on this target directory (right click on target and view properties) - although some Eclipse plugins (Maven/SVN) seem to sometimes get this derived flag wrong (not sure which is the culprit).