Bug? Cannot build simulator release app using an external library

falbertini

Member
Licensed User
Longtime User
Hi,
I have a problem compiling an IOS app that has an external proprietary library from another vendor (iHeraLib), that is needed to connect via bluetooth to a device in a car.
Three years ago the app was compiling correctly.
I have not changed the app since then, but now I need to recompile it for some changes on the application.

When trying to compile using hosted builder, it does not compile.
Looking at the log, seems that the library iHeraLib is incompatible with the library IArchiver:

B4X:
duplicate symbol '_sha1_hash' in:
    /Users/administrator/Documents/Libs/libiArchiver.a[arm64][15](sha1-DD87430CA301461.o)
    /Users/administrator/Documents/Libs/libiArchiver.a[arm64][5](sha1-611D4B66856E589A.o)
duplicate symbol '_t_fn' in:
    /Users/administrator/Documents/Libs/libiArchiver.a[arm64][18](aestab-A963D5FBE3DEF148.o)
    /Users/administrator/Documents/Libs/libiArchiver.a[arm64][7](aestab-452B34B7039455B.o)
duplicate symbol '_aes_decrypt_key192' in:
    /Users/administrator/Documents/Libs/libiArchiver.a[arm64][17](aeskey-6307A798EDCB527E.o)
    /Users/administrator/Documents/Libs/libiArchiver.a[arm64][6](aeskey-C12B82D482A37861.o)
duplicate symbol '_aes_decrypt_key128' in:
    /Users/administrator/Documents/Libs/libiArchiver.a[arm64][17](aeskey-6307A798EDCB527E.o)
    /Users/administrator/Documents/Libs/libiArchiver.a[arm64][6](aeskey-C12B82D482A37861.o)
duplicate symbol '_aes_decrypt_key256' in:
    /Users/administrator/Documents/Libs/libiArchiver.a[arm64][17](aeskey-6307A798EDCB527E.o)
    /Users/administrator/Documents/Libs/libiArchiver.a[arm64][6](aeskey-C12B82D482A37861.o)
duplicate symbol '_aes_decrypt' in:
    /Users/administrator/Documents/Libs/libiArchiver.a[arm64][21](aescrypt-D2FB84445F8CCB44.o)
    /Users/administrator/Documents/Libs/libiArchiver.a[arm64][11](aescrypt-A79292CB6D312756.o)
duplicate symbol '_hmac_sha_begin' in:
    /Users/administrator/Documents/Libs/libiArchiver.a[arm64][13](hmac-2B20173B99506495.o)
    /Users/administrator/Documents/Libs/libiArchiver.a[arm64][3](hmac-A9F3FA07AF8A7072.o)
duplicate symbol '_derive_key' in:
    /Users/administrator/Documents/Libs/libiArchiver.a[arm64][20](pwd2key-D0D98296B9CFAD84.o)
    /Users/administrator/Documents/Libs/libiArchiver.a[arm64][10](pwd2key-E67CC3A1F77B7A71.o)
ld: 35 duplicate symbols
clang: error: linker command failed with exit code 1 (use -v to see invocation)

After removing the IArchiver from the project, it compiles, when pressing F5
But when I try to Build simulator release app, to test the app in a simulator, i get a long error in the attached file
Here a snippet of the long error:

B4X:
/Users/administrator/Documents/UploadedProjects/<user id>/B4iProject.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 11.0, but the range of supported deployment target versions is 12.0 to 18.2.99. (in target 'B4iProject' from project 'B4iProject')

Error: ** BUILD FAILED **


The following build commands failed:
    CompileC /Users/administrator/Documents/UploadedProjects/<user id>/build/B4iProject.build/Release-iphonesimulator/B4iProject.build/Objects-normal/x86_64/b4i_querysql.o /Users/administrator/Documents/UploadedProjects/<user id>/B4iProject/b4i_querysql.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler (in target 'B4iProject' from project 'B4iProject')
    CompileC /Users/administrator/Documents/UploadedProjects/<user id>/build/B4iProject.build/Release-iphonesimulator/B4iProject.build/Objects-normal/x86_64/b4i_keyvaluestore.o /Users/administrator/Documents/UploadedProjects/<user id>/B4iProject/b4i_keyvaluestore.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler (in target 'B4iProject' from project 'B4iProject')
(2 failures)

If I try the build release app it compiles correctly.
But I need to test the changes using the simulator release app.
Why it’s ok with compile (F5), release app, and not with build simulation release ?
Is there anything that I can do to solve the issue ?

Many thanks…
 

falbertini

Member
Licensed User
Longtime User
I have set #MinVersion: 12 but still not build the simulator version
Returns a different error, attached you can find the full error
 

Attachments

  • errore app simulator build.zip
    35.3 KB · Views: 145

falbertini

Member
Licensed User
Longtime User
Yes, I have an Apple developer account and also an iphone but not a mac... but to copy ipa on it to do the test I don't need to publish the compiled binary on apple store, waiting for the check from apple for the release and after that download it from apple store ? Sorry but to debug iOS application I always used your simulator in the past... please, can you explain me this other way ?
 

Erel

B4X founder
Staff member
Licensed User
Longtime User
Start with these two tutorials:

And start with a new B4XPages project. Once you get it working, add the library.
 

falbertini

Member
Licensed User
Longtime User
Using b4i bridge, to connect to a local device, it compile and works well.
But I need to use the simulator version.
Why it works well with the debug version and does not work, when i compile it with simulator release app?
 
Top