Other B4i v10.0 BETA has been released

Erel

B4X founder
Staff member
Licensed User
Longtime User


I'm happy to release a beta version of B4i v10.0
B4i compilation process has been rewritten from scratch based on Apple's latest methodology. All native libraries were rebuilt and most external dependencies were updated with latest versions.

B4i libraries are now compiled as xcframeworks and are compatible with iOS arm64, x86 simulator and arm64 simulator. The new build-chain works properly with Swift frameworks, assuming that the needed Objective C headers are available. Technical details: https://www.b4x.com/android/forum/t...itionallib-and-dependson.169223/#post-1037060

This is an important update as most SDKs are now built with Swift and it was no longer possible to wrap them with the old build-chain.

Other improvements:
  • Support for Xcode 26 and iOS 26.
  • Support for ARM based Macs.
  • #Macro attribute. Defined in B4XMainPage or Main modules. Format: <type>, <name>, <link>. Type can be Title or After Save. More to come in the future. Link is based on the comment link feature: https://www.b4x.com/android/forum/threads/119897/#content
    Examples:

    B4X:
    #Macro: Title, B4XOrderedMap Doc, https://www.b4x.com/android/forum/threads/b4x-b4xorderedmap-get-first-item-nth-item-and-last-item.118642/
    #Macro: Title, B4XPages Export, ide://run?File=%B4X%\Zipper.jar&Args=Project.zip
    'open Objects folder after saving project:
    #Macro: After Save, open objects folder, ide://run?File=%WINDIR%\explorer.exe&Args=%PROJECT%\Objects
  • Other improvements to the builder, including a fix to codesign requiring password.
  • New command line options for the IDE:
    -INI=<ini file path> - allows running the IDE with an alternative INI file. Note that that standard INI file is stored under: C:\Users\<user name>\AppData\Roaming\Anywhere Software\b4i\b4xV5.ini
    -INI_<property key here>=<property value>
    Example:
    B4X:
    "c:\Program files\Anywhere Software\b4i\b4i.exe" -INI_CodeTheme=Dark "-INI_TitleNotEmpty=This is the second IDE: $FILE_NAME$"
  • Bug fixes and other minor improvements

This is a large update which might require a few changes to existing projects, mainly related to referencing of external SDKs.
There are currently two hosted builders, Builder1 is compatible with v10 and Builder2 is compatible with older versions. A week or two after the stable release of v10.0, both builders will be updated. Developers using older versions of B4i will need to switch to a local builder or update. It is not possible to keep the old toolchain together with the new one.

Developers eligible for a free upgrade will receive an email with upgrade instructions. Thank you for your help with the beta version!
 
Last edited:

davemorris

Active Member
Licensed User
Longtime User
Hi, Erel

I am currently using your Hosted builder and run B4i v8.90 (for various projects) and now tend to use B4Xpages - But only as light developer in B4X (c, c++, c# is my main thing).

Question: What is the best procedure in adopting the new version, should I run with it now or wait for the full release.

To keep things simple, I would like to continue using B4i v8.90 as long as it is practical.

Kind regards
Dave
 
Upvote 0

Enrico Fuoti

Active Member
Licensed User
Longtime User
Hello Erel,
I tried to compile an application that uses AppleAuthButton class, but compilation fails with following error:

Error: ** BUILD FAILED **

The following build commands failed:
CompileC /Users/administrator/Documents/UploadedProjects/<user id>/build/B4iProject.build/Release-iphoneos/B4iProject.build/Objects-normal/arm64/b4i_appleauthbutton.o /Users/administrator/Documents/UploadedProjects/<user id>/B4iProject/b4i_appleauthbutton.m normal arm64 objective-c com.apple.compilers.llvm.clang.1_0.compiler (in target 'B4iProject' from project 'B4iProject')
(1 failure)
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
To keep things simple, I would like to continue using B4i v8.90 as long as it is practical.
You can install the beta version in a different folder and run both versions. If you prefer not to then wait for the stable release.

I tried to compile an application that uses AppleAuthButton class, but compilation fails with following error:
Good point. Updated the class: https://www.b4x.com/android/forum/threads/sign-in-with-apple-and-firebase.116280/
The change is related to the import in the OBJC code, as the underlying FirebaseAuth SDK is a Swift framework:
B4X:
'#import <FirebaseAuth/FirebaseAuth.h> replaced with
#import <FirebaseAuth/FirebaseAuth-Swift.h>
 
Upvote 0
Cookies are required to use this site. You must accept them to continue using the site. Learn more…