Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/holusion/native
- Owner: Holusion
- Created: 2020-11-25T14:06:25.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-08-07T12:14:28.000Z (over 1 year ago)
- Last Synced: 2023-08-16T07:20:45.801Z (over 1 year ago)
- Language: JavaScript
- Size: 132 MB
- Stars: 0
- Watchers: 4
- Forks: 1
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
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 > VersionPas 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 :
```
UIAppFontsAntDesign.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é.