An open API service indexing awesome lists of open source software.

https://github.com/osfunapps/os_ios_app_automation

Will prepare an iOS app by properties defined by a xml file
https://github.com/osfunapps/os_ios_app_automation

Last synced: 9 months ago
JSON representation

Will prepare an iOS app by properties defined by a xml file

Awesome Lists containing this project

README

          

Introduction
------------

This module aim to assist with an iOS/OSX app buildup.

To use, create an XML file with your app properties and run.

## Installation
Install via pip:

pip install os-ios-app-automation

## Usage:

Will build an XCode project by a predefined xml file.

- [xml example 1](/examples/example_1.xml):
```xml



/path/to/xcode/project
my_root_dir_name
my_root_dir_name.xcodeproj
com.mybundleid
app name


true


$app_path/files/res/Info.plist


$app_path/files/res/AppIcon.appiconset



.zip
.xml



my_root_dir_name/rel/path/to/dir


my_root_dir_name/GoogleService-Info.plist




path/in/computer/to/look/for
GoogleService-Info.plist


my_root_dir_name/GoogleService-Info.plist




path/in/computer/search
dir_to_search


my_root_dir_name/Dynamic Resources/Main




path/to/text/file.txt


my_root_dir_name/Dynamic Resources/Main/copied_text_file.txt




use_frameworks!
platform :ios, '10.0'
source 'https://github.com/CocoaPods/Specs.git'
pod 'Zip', '~> 1.1'
pod 'SWXMLHash', '~> 5.0.0'




path/to/amazon/fling.framework
custom



ExternalAccessory.framework
system


AudioToolbox.framework
system


StoreKit.framework
system

```

After your created the xml file, call it from code, to build your XCode project.
```python
from os_ios_app_automation import app_automation as xm

xm.set_xcode_project_by_xml('/path/to/your/xml_file.xml',
place_holder_map = {'$app_path': '/path/to/a/dynamic/directory'})
```

## Advanced usage

You can also extend an XML file to another one.

Inheritance in this sense can help you if you're interested in sharing a behaviour between a bunch of XML files.

- [child xml](/examples/example_2.xml):
```xml



com.my_identifier
My cool app



pod 'AnotherPod'
pod 'AndAnotherPod'

```

- [parent xml](/examples/shared_mapper.xml):

```xml


path/to/project/root
projects_root_dir_name
projects_root_dir_name.xcodeproj
$app_path/files/res/Info.plist
$app_path/files/res/AppIcon.appiconset



.zip
.xml



projects_root_dir_name/Dynamic Resources
projects_root_dir_name/GoogleService-Info.plist




# reachability, to get wifi events
use_frameworks!
# os libraries
pod 'OsUIViews'
pod 'OsTools'



audiotoolbox.framework
system


externalaccessory.framework
system


storekit.framework
system






./path/to/text/mapper.xml





$project_path
path/to/project/root



```

That's it.

## Links
[GitHub - osapps](https://github.com/osfunapps)

[GitHub - os-android-app-automation](https://github.com/osfunapps/os-android-app-automation-py)

## Licence
ISC