NeoMAD 4.1 release notes¶
September 16, 2016
New features¶
iOS 10¶
NeoMAD 4.1 requires Xcode 8
.
Three major issues have been identified with older versions of NeoMAD with iOS10 :
* Calling View.setBackground()
will crash the application when poping a screen containing views that call the method
* App submission fails if the 40x40 icon
is not provided
* Signature step fails with older versions of NeoMAD
Your applications must provide a 40x40 icon for iOS.
You should rebuild your applications with NeoMAD 4.1 to fix these issues.
iOS 7 support is stopped¶
Because Xcode 8
is not compatible with the iOS 7
,
NeoMAD 4.1 now supports the three major versions : iOS 8, 9 and 10.
ATS (App Transport Security) for iOS 10¶
Since iOS 10
, the use of ATS is required. For NeoMAD users, it means that applications that do not specify <httpAuthorizedDomains>
in the URS will
have to specify why all the HTTP domains are allowed in their application when publishing to the App Store. Apple may then reject the application.
To avoid that problem, only use HTTPS connection in your application. In that case declare <httpAuthorizedDomains />
in the URS. You will have
no problem when submitting your application.
Note that if your application already uses only HTTPS connection, you will need to declare <httpAuthorizedDomains />
if not already done to avoid the App Store justification.
If your application needs to connect to specific HTTP domains, you can specify them in the URS using the <domain>
section in <httpAuthorizedDomains>
.
However you will still need to justify why you allow these domains when publishing in the App Store (but only for these domains).
Android 7¶
NeoMAD 4.1 can be used with the latest version of Android Platform (API Level 24)
.
ProGuard issue¶
NeoMAD 4.1 does not provide ProGuard
tool anymore and uses the one delivered with Android SDK
.
Android SDK
supports Java 8
and its library is built with Java 8
. The ProGuard
tool provided by Android SDK
is not compatible with Java 8
. To fix this issue, you will have to install the ProGuard
5.0 version in your Android SDK installation if you installed the Android Platform (API Level 24)
. NeoMAD will throw an error at build time if the Android Platform (API Level 24)
is found but with the wrong ProGuard
version.
Compatibility changes¶
- Some iOS API now requires to declare permissions to be used. Unlike the other platforms, these permissions require a “permission usage description”. This a localized String that must describe to the user why the permission is required. This String must be declared in the
res/string/info.xml
resource file in NeoMAD. Note that even if the “permission usage description” is set, you must declare the permission in the URS. - URS
<location>
tag is now deprecated. To set the permission usage description for the LOCATION permission, useres/string/info.xml
Fixes¶
- Fix
ApplicationDelegate
javadoc: corresponding native method signatures were wrong. - Fix
LinearLayout.addView(View, int)
to throwIllegalArgumentException
if the index parameter is out of bounds - Android:
- Fix
Res.string
,Res.image
andRes.raw
thrown at execution time exception (ResourceNotFoundException
)
- Fix
- iOS:
- Fix
HttpResponse.getDataString()
: wrong encoding was used (nowUTF-8
is used by default like for other platforms) - Fix
TextField.setPadding()
: calling twice the method will increment padding value.
- Fix
- WindowsPhone:
- Fix empty icon tile when the application is pinned to the start page.
- Fix
ImageUrlLabel
: use default image as error image if there is no error image set (avoid blank, same behavior as inAndroid
andiOS
)