Other B4i v10.0 has been released!

Erel

B4X founder
Staff member
Licensed User
Longtime User
xcode-png.168128


I'm happy to release 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.

Older versions of B4i are not compatible with the new build-chain. Developers using older versions of B4i with the hosted builder, will need to switch to a local builder or update. It is not possible to keep the old build-chain together with the new one. A builder running the old build-chain will remain active for 2-3 weeks.

Developers eligible for a free upgrade will receive an email with upgrade instructions, other developers will receive a discount offer.
 

kohlenbach

Member
Licensed User
and what happens when you click on this icon?
Its nothing with the bridge, The warnings say:
Main - 15: #MinVersion lower than 16. Swift based libraries might fail at runtime. (warning #37)

I made a small test app with 8.9 and 10.
8.9 works, 10 doesnt work. Libraries : B4xPages and iCore
 
Upvote 0

hanyelmehy

Well-Known Member
Licensed User
Longtime User
I have a few questions regarding the transition:


  1. Local Builder for B4i 8.9
    Is it possible to receive an update for the B4i 8.9 local builder to fix the issue of codesign requiring a password every time a build is made?
    This behavior slows development, and an update would be very helpful for developers who still use 8.9.
  2. Installing B4i 8.9 and B4i 10 together
    Can we install both B4i 8.9 and B4i 10 on the same Windows machine without conflicts?
    And is it also possible to install and run both versions of the local builder side-by-side without issues?
  3. Old Projects Compatibility
    I have many older projects created with previous versions of B4i.
    Will updating to B4i v10.0 cause compatibility issues with these projects?
    If yes, what are the expected changes that we need to update manually?
  4. Hosted Builder for B4i 8.9
    Since many developers still need time to migrate, would it be possible to extend the availability of the B4i 8.9 hosted builder beyond the announced 2–3 weeks?
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
I made a small test app with 8.9 and 10.
8.9 works, 10 doesnt work. Libraries : B4xPages and iCore
This should work with iOS 15. Please start a new thread and provide more information.

Is it possible to receive an update for the B4i 8.9 local builder to fix the issue of codesign requiring a password every time a build is made?
This behavior slows development, and an update would be very helpful for developers who still use 8.9.
No. The old build-chain is no longer maintained. Switch to B4i v10. It is not too complicated.
Can we install both B4i 8.9 and B4i 10 on the same Windows machine without conflicts?
Yes.
And is it also possible to install and run both versions of the local builder side-by-side without issues?
No.
I have many older projects created with previous versions of B4i.
Will updating to B4i v10.0 cause compatibility issues with these projects?
Most probably no. If changes are required they will be simple. Like updating the #Import in OBJC code.

Since many developers still need time to migrate, would it be possible to extend the availability of the B4i 8.9 hosted builder beyond the announced 2–3 weeks?
Lets see how it goes in a week or two. If needed it will be extended in several more weeks.
 
Last edited:
Upvote 0

hanyelmehy

Well-Known Member
Licensed User
Longtime User
This should work with iOS 15. Please start a new thread and provide more information.


No. The old build-chain is no longer maintained. Switch to B4i v10. It is not too complicated.

Yes.

No.

Most probably no. If changes are required they will be simple. Like updating the #Import in OBJC code.


Lets see how it goes in a week or two. If needed it will be extended in several more weeks.
for And is it also possible to install and run both versions of the local builder side-by-side without issues?
No ,evem we run one of them at a time

Also Could you please confirm the minimum iOS version required to run apps compiled with B4i v10? This information is very important, as many users in my region still rely on older iOS devices.


Short & Direct

 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
for And is it also possible to install and run both versions of the local builder side-by-side without issues?
I don't recommend it. It would be better to use the hosted builder for B4i v10 and keep the local builder for the transition.

Also Could you please confirm the minimum iOS version required to run apps compiled with B4i v10?
Firebase and other complex frameworks depend on iOS 16+. There might be an unexpected issue with other libraries and iOS 15. I'm checking it.
 
Upvote 0

mcqueccu

Well-Known Member
Licensed User
Longtime User
The old builder will be kept until January 15. Almost two months from now. This will be enough to update (which most should do) or switch to a local builder.
I have received the discount offer to renew my B4i License to v10. I use the Hosted Builder version, but I have renewed my hosted builder not long ago, can the hosted builder be taken out from the discounted price or its fixed with the hosted builder?
 
Upvote 0

marcick

Well-Known Member
Licensed User
Longtime User
Hi.
After updating to B4i 10.00 I have compilation errors. First I see is:

B4X:
b4i_websockethandler.h:3:9: error: 'iCPP.h' file not found (in target 'B4iProject' from project 'B4iProject')
    /Users/ereluziel/Documents/UploadedProjects/<user id>/B4iProject/b4i_websockethandler.m:2:9: note: in file included from /Users/ereluziel/Documents/UploadedProjects/<user id>/B4iProject/b4i_websockethandler.m:2:

Are there any code changes required for this update?
I didn’t see any specific instructions and I didn’t receive any by email.

Thanks
Marco
 
Upvote 0
Top