Skip to content

PIR-IDS/IDS-iOS-App

Repository files navigation

PIR – iOS App


Logo

IDS: Code for the iOS App
See Releases »

Research Paper · Test Results · See Global Usage

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Tree Structure
  5. Credits
  6. Contact

About The Project

This code will be used in order to receive the anomalies detected by the Arduino and to check if an event is linked to a distant action.

Screenshot1

Built With

Getting Started

Prerequisites

  1. You need Xcode on macOS to use this project.
  2. Install Mint
    brew install mint

Installation

  1. Clone the project
    git clone https://github.com/PIR-IDS/IDS-iOS-App.git
  2. Install the dependencies by typing the following command while being in the project root:
    mint bootstrap
  3. Generate the .xcodeproj directory by typing the following command while being in the project root:
    mint run xcodegen generate
  4. Open the .xcodeproj directory in Xcode
    open idsapp.xcodeproj

Usage

Generation

To get the Development Debug IDS App.app file in the build/Build/Products/Debug-iphoneos/ directory, use the following command:

xcodebuild ONLY_ACTIVE_ARCH=NO -configuration Debug -target idsapp -scheme idsapp -derivedDataPath build

To get the Development Release IDS App.app file in the build/Build/Products/Release-iphoneos/ directory, use the following command:

xcodebuild ONLY_ACTIVE_ARCH=NO -configuration Release -target idsapp -scheme idsapp -derivedDataPath build

To get the Release Archive at the build/IDS App.xcarchive location (necessary to generate the IPA later with your own certificate), use the following command:

xcodebuild ONLY_ACTIVE_ARCH=NO -configuration Release -target idsapp -scheme idsapp -archivePath "build/IDS App.xcarchive" archive

If you don't want to sign your builds, you can add the following environment variables: CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO

To generate the IPA, first create your ExportOptions.plist file and fill it with the key-value pairs you want:

cp ExportOptions.plist.template ExportOptions.plist

Then use the following command to generate your IPA at this location build/IDS App.ipa. Keep in mind we will have to sign your IPA with an Apple Developer Certificate.

xcodebuild -exportArchive -archivePath "build/IDS App.xcarchive" -exportOptionsPlist ExportOptions.plist -exportPath build

Execution

Use Xcode or deploy the generated .app with the tool of your choice, for example cfgutil from Apple Configurator or ios-deploy.

cfgutil install-app "IDS App.app"
# or
cfgutil install-app "IDS App.ipa"
# or
ios-deploy --bundle "IDS App.app"
# or
ios-deploy --bundle "IDS App.ipa" --bundle_id fr.pirids.idsapp

Tests

To launch the unit tests and the UI tests, use the following command and replace <destination> with the destination platform of your choice:

xcodebuild test -target idsapp -scheme idsapp -destination <destination>

Documentation

To generate the IDS App.doccarchive documentation file in the build/Build/Products/Release-iphoneos directory, use the following command:

xcodebuild ONLY_ACTIVE_ARCH=NO docbuild -configuration Release -target idsapp -scheme idsapp -derivedDataPath build

Tree Structure

TODO

Credits

Romain Monier [ GitHub ] – Co-developer
Noé Chauveau [ GitHub ] – Co-developer

Contact

Project Link : https://github.com/PIR-IDS/IDS-iOS-App

Organization Link : https://github.com/PIR-IDS