Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/holusion/native

Native applications for Holusion SAS
https://github.com/holusion/native

Last synced: 29 days ago
JSON representation

Native applications for Holusion SAS

Awesome Lists containing this project

README

        

# Usage

Voir `cache-control/` pour le code de synchronisation

Voir `HolusionCompanion/` pour le code react-native

## Integration continue

Modifier la version de l'application dans Xcode:

(TARGET: HolusionCompanion)
Général > Identity > Version

Pas la peine de toucher au build number.

commit. fastlane s'occupera d'upload le build sur [Appstore Connect](https://appstoreconnect.apple.com).

Puis utiliser l'interface pour migrer le build sur

## Notes

### Initialiser Firebase

https://rnfirebase.io/docs/v5.x.x/installation/ios

Dans `ios//AppDelegate.m`, ajouter :

dans les en-têtes :

```
#import
```

au début de la méthode `didFinishLaunchingWithOptions` :

```
[FIRApp configure];
```

### Mettre en place les "background download" de RNFS

> Depuis [react-native-fs README](https://github.com/itinance/react-native-fs#background-downloads-tutorial-ios)
Dans`ios//AppDelegate.m` :

```
#import

...

- (void)application:(UIApplication *)application handleEventsForBackgroundURLSession:(NSString *)identifier completionHandler:(void (^)())completionHandler
{
[RNFSManager setCompletionHandlerForIdentifier:identifier completionHandler:completionHandler];
}
```

### Accélérer cocoapods

Juste en dessous de la première ligne `platform :ios, '9.0'`, on peut ajouter :

```
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
```

### Installer les librairies nécessaires

avec cocoapods (`gem install cocoapods` si absent) :

```
(cd ios && pod install)
```

Attention sur Mac avec puce M1 : installer cocoapods avec `brew install cocoapods`

### Configurer xcode

Ouvrez XCode. Ouvrir le fichier `.xcworkspace`, **PAS** le fichier `.xcodeproj`!

Dans le volet de gauche, cliquer sur le nom du projet pour ouvrir ses propriétés.

Donner au projet un identifiant sous la forme :

```
com.holusion.native.
```

#### signature du code

pour la cible `` :

Dans la configuration du projet, onglet **signing & capabilities** :

sélectionner la *Team* Holusion.

Pour la cible `Test`, onglet **signing & capabilities** : Sélectionner la *Team* Holusion

### Ajout des fichiers supplémentaires

Ajoutez le fichier **GoogleService-Info.plist** (stocké à la racine du dépôt git). Dans le menu de xcode, cliquer sur :`File > Add files to `

Cocher la case **copy items if needed**

Ajoutez les `font` de [react-native-vector-icons](https://github.com/oblador/react-native-vector-icons) dans `ios//Info.plist`. Copier les lignes :
```
UIAppFonts

AntDesign.ttf
Entypo.ttf
EvilIcons.ttf
Feather.ttf
FontAwesome.ttf
FontAwesome5_Brands.ttf
FontAwesome5_Regular.ttf
FontAwesome5_Solid.ttf
Foundation.ttf
Ionicons.ttf
MaterialIcons.ttf
MaterialCommunityIcons.ttf
SimpleLineIcons.ttf
Octicons.ttf
Zocial.ttf

```
### Permissions

**iOS 14** : Ajouter la permission de scanner avec zeroconf ([react-native-zeroconf](https://github.com/balthazar/react-native-zeroconf#ios-14-permissions)).

```
NSBonjourServices

_workstation._tcp.

NSLocalNetworkUsageDescription
Rechercher automatiquement les équipements holusion sur le réseau
```

On peut aussi ajouter la déclaration d'encryption :
````
ITSAppUsesNonExemptEncryption

```

### Paramètres généraux

Dans l'onglet général :

- Changer l'id de l'application pour `com.holusion.native.``
- Dans **Deployment info**:
- cocher `ipad` uniquement (selon usage)
- Fournir les orientations nécessaires
- cocher `this app requires fullscreen` (nécessaire pour la publication sur appStore Connect)

## Ajouter des polices "custom"

Il faut ajouter la police aux ressources du projet et fournir le nom du fichier de police dans `Info.plist`.

## Troubleshooting

### RNZeroconf.lib emet un erreur la compilation

La bibliothèque n'est pas à jour pour react-native v0.6 ou plus, avec de la chance la pull request : https://github.com/balthazar/react-native-zeroconf/pull/97. En attendant il
faut récupérer le commit de la pull request et ajouter le fichier podspec dans le dossier node-modules/react-native-zeroconf du projet

### L'appli renvoie une erreur concernant FIRApp

Il faut ajouter un morceau de code dans le AppDelegate.m du projet (sur XCode)

```c#
#import

[FIRApp configure]; // Au dessus de RCTBridge dans la méthode didFinishLaunchingWithOptions
```

source : https://rnfirebase.io/docs/v5.x.x/installation/ios

### react-native-markdown-renderer envoie des warning

La bibliothèque utiliser pour afficher du texte markdown n'est plus maintenu : https://github.com/mientjan/react-native-markdown-renderer/issues/115
Il faudra probablement penser à trouver une autre solution lors de la prchaine grosse mise à jour de React

### Synchroniser react-native-holusion

react-native ne fonctionne pas avec npm link. Pour éviter de devoir publier une version à chaque fois, on utilise rsync :

rsync -a --exclude node_modules ../react-native-holusion/ ./node_modules/\@holusion/react-native-holusion

# Ou pour le garder à jour :
fswatch -o ../react-native-holusion| while read f; do rsync -a --exclude node_modules ../react-native-holusion/ ./node_modules/@holusion/react-native-holusion; done

### Ajouter un nouvel iPad

Faire la configuration initiale pour `[email protected]`.

Penser à renommer l'iPad une fois démarré dans `Réglages > Général > Nom`. et désactiver le vérouillage d'écran dans `Réglages > Luymiunosité et affichage > Verouillage automatique`.

Connecter l'iPad au macBook

Retirer les apps inutiles : Dans `Xcode > Window > Devices and simulator`, séléctionner l'iPad et supprimer toutes les applications.

Dans Xcode, ouvrir le projet et naviguer vers l'onglet `Signing and Capabilities`. Cliquer sur `Register`.

L'iPad est prêt à être utilisé.