Other B4i v2.50 is released

Discussion in 'iOS Questions' started by Erel, Feb 15, 2016.

  1. Erel

    Erel Administrator Staff Member Licensed 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.



    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: Apr 11, 2016
  2. nicieri

    nicieri Active Member Licensed User

    Great! ;)
  3. yonson

    yonson Active Member Licensed User

    some great additions thank you Erel
  4. marcel

    marcel Active Member Licensed User

  5. Filippo

    Filippo Expert Licensed User

    Supeeeer :)
  6. moore_it

    moore_it Active Member Licensed User

    The problem on toolbar remain, in debug mode ok, in release mode a black row !

    Attached Files:

  7. JackKirk

    JackKirk Well-Known Member Licensed 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.

  8. Erel

    Erel Administrator Staff Member Licensed User

    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.
  9. moore_it

    moore_it Active Member Licensed User

    Ok i try !
    Thanks Erel
  10. JackKirk

    JackKirk Well-Known Member Licensed User


    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???
  11. Erel

    Erel Administrator Staff Member Licensed User

    No. If you exclude iPad then your app will run in the special iPhone mode on the iPad.
  12. androidtom

    androidtom Member Licensed 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!!!
  13. Erel

    Erel Administrator Staff Member Licensed User

    Are you using a local Mac or the hosted builder?
  14. androidtom

    androidtom Member Licensed User

    This is with the hosted builder.
  15. Erel

    Erel Administrator Staff Member Licensed User

    It seems like a network problem. Does it happen after 30 seconds?
  16. androidtom

    androidtom Member Licensed 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.
  17. Erel

    Erel Administrator Staff Member Licensed User

    Try to increase the process timeout under Tools - IDE Options.
  18. androidtom

    androidtom Member Licensed 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.
    Erel likes this.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice