IOS7

From NSB App Studio
Jump to: navigation, search

This page keeps track of information about iOS7 for AppStudio users. Feel free to add your tricks and workarounds!

Max Firtman has a general overview here.

New Features

  1. New style: default font style is Helvetica Neue. Since it is a bit finer than regular Helvetica, consider moving up the font size. To look even more like iOS7, get rid of the striped background and use blue labels. Here's a good cheat sheet on some of the design differences.
Ios7.1.png
  1. New Date inputType on TextBox control.
  2. New Time inputType on TextBox control.
  3. New Progress Control
    ProgressBar.png
  4. Text to Speech
  5. Status bar appearance: With the new look, setting status bar in Project Properties to black-translucent looks best.

Known Bugs

  1. mailto:, tel:, sms: etc. tags do not work when saved to Home Screen. FIXED in 7.0.3
  2. Simple MsgBox does not work properly. Use NSB.MsgBox instead. FIXED in 7.0.3
  3. JavaScript alert, confirm and prompt do not work. FIXED in 7.0.3
  4. When running with Safari (not from the Home screen), there is no way to hide the Navigation (URL) bar.
  5. There is a problem with SQLite databases that are over 5 megs.
  6. In Safari preferences, "Block Cookies" needs to be set to "Never" or "No Third Party". It cannot be "Always". Otherwise, localStorage and SQLite statements will not work.
  7. If your app uses a JSON structure, the JavaScript runtime allocates way more memory than is needed or perhaps even available. This can lead to all sorts of unpredictable behavior. AppStudio uses JSON structures to import SQLite databases.
  8. StatusBar overlaps the top of the app. The workaround is to not use the top 20 pixels of the screen.
    IOS7statusbar.png

The NSB property ‘status bar’ affects the IOS 7.0 Status Bar as follows:

    1. Set to black-translucent = black translucent
    2. Set to black = white translucent
    3. Set to default  = black translucent

Here's a longer article about this bug. The workarounds are very fragile: everyone is hoping Apple will fix this one in an update.

Testing if iOS 7 is running

If InStr(navigator.appVersion,"iPhone OS 7_0") >0 Then 
  Print "iOS7"
Else
  Print "not iOS7"
End If