Community

Topic: Xamarin component

Xamarin Classic for IOS not working (SOLVED)

RobertoCaeiro
Tuesday, March 6, 2018

Hello

We are trying to develop an IOS Xamarin app using pikkart library.
Our app is in Xamarin Classic for Android and iOS. Your SDK works fine in Android (native and with xamarin classic), but in iOS works fine only in a native project with XCode but in iOS Xamarin Classic we have some troubles with it.
We only need GEO Augmented Markers. We try to use the library with Nuget and with .ddl files.
We couldn´t find a project that works for iOS Xamarin Classico.
We see some errors like this:

Native linking error: framework not found GoogleMaps for architecture arm64.
Native linking failed. Please review the build log.

We have google maps imported (the same version than native app and we downgrade some versions too) but doesn´t work.

Do you have some project example for iOS xamarin classic that works without errors?
We are very interested in buying library license because we try in Android an it Works fine.
Thank you so much!

user profile image
Support Team  (expert)
Tuesday, March 6, 2018

Hi,
Xamarin Classic for iOS API no longer servers any purpose, because Apple requires 64-bit support, and you can't make a 64-bit Xamarin.iOS app without the unified API.
We suggest to use Xamarin.iOS unified API and follow the tutorial for Pikkart SDK Geo Markers at the following link: https://goo.gl/K1tmdy.
Kind Regards

RobertoCaeiro
Tuesday, March 6, 2018

We tried with the unified API, exactly the same in the link that you send me.
Do you not have an example empty Project that Works in Xamarin Classic IOS?
We only need GEO Augmented Markers.
Our developer team, is recording the error in a video and we share in some minutes with you.

user profile image
Support Team  (expert)
Tuesday, March 6, 2018

Hi,
please try to follow this alternative approach:

a) Remove from project references the Xamarin.iOS.GoogleMaps Nuget packages
b) Downloads from https://developers.google.com/maps/documentation/ios-sdk/start Google SDK for iOS (last version is 2.6.0)
c) Add the GoogleMaps.framework, GoogleMapsBase.framework, GoogleMapsCore.framework directories to iOS project
d) Add GoogleMaps.bundle (you could find it inside the GoogleMaps.framework directory) to Resources folder
e) Add following additional mono touch arguments in iOS Compile settings:

-v -v -v -cxx -gcc_flags "-L${ProjectDir} -F${ProjectDir} -framework AudioToolbox -framework MediaPlayer -framework CoreMedia -framework AVFoundation -framework SystemConfiguration -framework AVFoundation -lSystem -framework CoreMedia -framework GoogleMaps -framework GoogleMapsBase -framework GoogleMapsCore -lsqlite3 -lz -ObjC"

In this way you could build and test our Geo Markers SDK
Kind Regards

RobertoCaeiro
Tuesday, March 6, 2018

Hi,
We are following your alternative, but we are not solving the problem.
We record two videos, one with the first situation and another one, now with the steps that you tell me:
https://drive.google.com/drive/folders/0B10DArA0F32vOTBuS0ZoRkJWc1U?usp=sharing

The second video is with the new solution.
Is the unique way for build a Project with Xamarin classic? Usually if we are using native libraries, we need to build bindings.
If you see an error in second solution tell me.
We will continue trying, we can not change our Project to native or to forms, because is a Project that is using with another functionalities.
Thank you, Regards

user profile image
Support Team  (expert)
Tuesday, March 6, 2018

Hi,
we checked the second video. It seems that you don't correctly execute the third step of suggested alternative approach:

c) Add the GoogleMaps.framework, GoogleMapsBase.framework, GoogleMapsCore.framework directories to iOS project

In the iOS Project, remove the native references relative to GoogleMaps and add (as directories) on the root project, the previously downloaded GoogleMaps frameworks. Visual Studio sees the .framework bundle as directories and in this way should be added to the project.
Then, you should be able to build the Geo Marker Pikkart SDK.
Kind Regards

RobertoCaeiro
Wednesday, March 7, 2018

Now, we are using your project on https://github.com/pikkart-support/XamariniOS_GeoAugmentedMarker and we have many errors:
https://drive.google.com/file/d/1NabFD2GKeN8kHcIE8V59GZNHUzDFJsEZ/view?usp=sharing
We are only adding the Add additional mono touch arguments .
Thank you!

RobertoCaeiro
Wednesday, March 7, 2018

Could you give us one solution for working https://github.com/pikkart-support/XamariniOS_GeoAugmentedMarker ? I think that if we could solve this part, we could start the AR part of our project in IOS, and adquire license.
Thank you so much!

user profile image
Support Team  (expert)
Wednesday, March 7, 2018

Hi,
please note that Pikkart SDK (and GoogleMaps SDK yet) doesn't support iOS Simulator.
You have to compile and link on a physical device.
Please check this link for Pikkart SDK minimum requirements: https://goo.gl/NQxSKZ
Kind Regards

RobertoCaeiro
Wednesday, March 7, 2018

Thanks for the fast reply.
We knew about the no compatibility with the IOs simulator.
We have rebuilded the project, delete all the references and use the 4 steps, delete nuget, linking.... and now works fine, but we have needed comment in the ViewController class three methods, DisableRecognition(), EnableGeoAR() and EnableGeoMap().
Now, we could start to integrate pikkart in our project, but before this, we have a doubt, we see that app, with this functionality have a size of 180 MB. Could we optimiced this size?
Thank you so much!







user profile image
Support Team  (expert)
Wednesday, March 7, 2018

Hi,
ipa could be so bigger because you compiled and linked with the Visual Studio "debug" configuration.
Ipa loaded on appStore should be compiled and linked with "release" configuration , that execute some sort of optimizations (like stripping symbols) on final executable.
Kind Regards

RobertoCaeiro
Friday, March 9, 2018

Hello,

Yes, we are building your project with Release. Also we are using "Link All" in the linker behavior and LLVM compiler, but this size is about 150 MB, we know that a Xamarin project usually have more size than native projects. If our project use the library it could be a problem, for publish in the apple store.
Is it the size that have the projects in Xamarin usually?

RobertoCaeiro
Wednesday, March 14, 2018

Finally, we will buy the license in the next days, because we need to integrate the project, with Xamarin Android , we finish another functionalities and we need AR now.
For now, we will discard Xamarin IOS from Pikkart, because the size is not assumable for a project of this features, and also we need use iOS Simulator for develope. If you have a new version that have a reasonable size let us know.
Thank you.

Sign in to add a comment