Other B4i v2.50 is released

Erel

B4X founder
Staff member
Licensed User
Longtime User
I'm happy to release B4i v2.50.

Customers who are eligible for a free upgrade should receive an email with download instructions (it can take several hours for the mail to arrive).

This version adds support for custom views.

SS-2016-02-01_12.38.21.png


SS-2016-02-01_12.39.26.png


Custom views are implemented in B4i code or as a library. With custom views you can design all the layout in the visual designer, with anchors and designer script.

New features and improvements:
  • Custom views: [B4X] Custom Views with Enhanced Designer Support
  • iUI8 library: https://www.b4x.com/android/forum/posts/397891/
    • WKWebView - Replaces WebView with better performance and more features.
    • VisualEffectView - A view that creates a blur effect.
    • NavControlExtra - Allows showing and hiding the bars with gestures.
    • TableView - Implemented as custom view (replaces iTableView2).
  • Faster and smoother startup in release mode.
  • Launch images for iPhone 4 are included by default.
  • Debugger improvements, especially relevant to large projects.
  • It is now possible to override main.m and Project-Info.plist by putting the files in the special folder.
  • #Target attribute: Allows targeting iPhone, iPad or both (default).
  • #MinVersion: Sets the minimum version. Default value is 7.0.
  • #CustomBuildAction: Similar to B4J and B4A attribute. Currently the only step available is 1 (beginning of compilation).
  • Notification.NotificationTag - A string that is tied to the notification and can be retrieved when the user clicks on the notification.
  • View.Parent - Returns the view's parent.
  • Support for native libraries packed as tbd.
  • New Google Analytics library.
  • TextView / TextField: New SetSelection method. SelectionStart property can be set.
  • TextView new events: BeginEdit, EndEdit and TextChanged.
  • View.CalcRelativeKeyboardHeight: Important new method that helps with the calculation of the keyboard top point relatively to the current view.
  • Bug fixes and other minor improvements.
Backwards compatibility changes:

If you are showing the navigation toolbar then you need to set NavControl.ToolbarVisible only after call NavControl.ShowPage.
 
Last edited:

moore_it

Well-Known Member
Licensed User
Longtime User
The problem on toolbar remain, in debug mode ok, in release mode a black row !
 

Attachments

  • Error.png
    Error.png
    25.2 KB · Views: 934
Upvote 0

JackKirk

Well-Known Member
Licensed User
Longtime User
I searched for "B4I #Target" but found zip.

I'm guessing the syntax is:

#Target: iPhone

if I want to target iPhones only.

Works OK in testing but I'm about to attempt to publish and would like confirmation of this so I don't waste a week.

Thanks...
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
The problem on toolbar remain, in debug mode ok, in release mode a black row !
You should call Nav.ToolbarVisible = True after you call ShowPage.

About #Target, the default value is iPhone, iPad. You can set it to iPhone if you want your app to run in "iPhone" mode on iPads. This means that the app will show in the middle of the screen.

In most cases it is better to leave it with the default value or set it to iPad if you want to limit your app to iPads only.
 
Upvote 0

JackKirk

Well-Known Member
Licensed User
Longtime User
Erel,

I was interested in limiting my app to running on iPhones only, my interpretation of what has been said above is:

#Target: iPhone, iPad - runs on both device types

#Target: iPad - runs on iPads only

#Target: iPhone - runs on iPhones AND iPads (in "iPhone" mode)

Is this correct - i.e. there is no ability to exclude iPads???
 
Upvote 0

androidtom

Member
Licensed User
Longtime User
I' not sure if this is the right place to ask but this morning I installed 2.5 and tried to do a release build on the hosted machine. I get this error -
B4i version: 2.50
Parsing code. (0.32s)
Compiling code. (0.51s)
Compiling layouts code. (0.02s)
Building Xcode project (0.74s)
Sending data to remote compiler. Error
Communication error: Internal error: Unable to write data to the transport connection: An established connection was aborted by the software in your host machine.


I'm not clear if the "host machine" is my PC or if it's the remote hosted compiler. Did I miss something in the setup somewhere to build a release?

thank you!!!
 
Upvote 0

androidtom

Member
Licensed User
Longtime User
Yes it's after about 20 to 25 seconds. I don't see anyone else reporting a problem so I'm thinking I must be missing something. The debug versions to my iPad work fine.
 
Upvote 0

androidtom

Member
Licensed User
Longtime User
Thank you for the suggestions Erel. I finally found the problem. Extra unused files in the Files section were apparently getting picked up and causing the app to exceed the 40 Mb limit of the hosted builder. I removed all unused stuff and successfully compiled a release on the hosted builder which is now in the iTunes Test Flight program.
 
Upvote 0
Top