NeoMAD 4.7.3 release notes¶
July 30, 2020
Androidx¶
The NeoMAD API is now implemented using androidx. This is an internal change and there is nothing to do in existed NeoMAD projects. Just build with this new version to be compatible with androidx.
Pod support for iOS specific code¶
NeoMAD specific code can now rely on pods for iOS. Configure your Podfile and declare it in the URS to use it in the specific code.
Additional run script phases or resource files can be added in the generated iOS project to fullfill some pods prerequisites. See below to learn how to do so.
Pods¶
Pods can be added in project to use in specific code. To add pods in the project just create the Podfile.
Use the <mainclassname>
declared in the URS as the target
in the Podfile.
Once the Podfile created, just add the <pod>
tag in the URS with the path to the Podfile. NeoMAD will
download and install the pods at the project generation steps using the CocoaPods command configured on
the Mac.
<urs>
[...]
<specific>
<ios>
<pod path="path/to/Podfile"/>
</ios>
</specific>
</urs>
Run Script (Xcode)¶
Sometimes to use some libraries or pods, additional Run Script Build Phase
may be required when building with Xcode.
Run Script Build Phase
can be added with NeoMAD by the URS. The keys are the same as for an Xcode project.
<urs>
[...]
<specific>
<ios>
<runScriptPhase name="Script name">
<shellScript>shell/command</shellScript>
<shellPath>/bin/sh</shellPath>
<dependencyFile>path/to/dependency/file</dependencyFile>
<inputPaths>
<path>path/to/input/path/1</path>
<path>path/to/input/path/2</path>
</inputPaths>
<inputFileListPaths>
<path>path/to/input/inputFileListPaths</path>
</inputFileListPaths>
<outputPaths>
<path>path/to/output/path/1</path>
</outputPaths>
<outputFileListPaths>
<path>path/to/output/outputFileListPaths</path>
</outputFileListPaths>
<showEnvVarsInLog>false</showEnvVarsInLog>
<runOnlyForDeploymentPostProcessing>false</runOnlyForDeploymentPostProcessing>
</runScriptPhase>
</ios>
</specific>
</urs>
Resource files¶
Sometimes to use some libraries or pods, specific configuration files should be included in Xcode. They are not classical NeoMAD resources files. They are just files to add in the Xcode project.
Such files can be added via the urs <specific><ios><file>
tag.
<urs>
[...]
<specific>
<ios>
<file path="path/to/my/resource.file" group="ProjectGroup" build="false"/>
</ios>
</specific>
</urs>
path
(mandatory): path to the file in the input projectgroup
(optional): group where the file must be copied in the Xcode project. If the group does not exist, it will be created. Default is the root group of the project.build
(optional): does the file need to be added to the build files of the project (default false).
Fixes¶
- Fix iOS background services that did not work in iOS 13