Files
boc/iom/quixzoom-app/scripts/verify-build.sh
T
Bernt bae705aa97 ARCHITECTURE: NFC roadmap, edge AI, audit logging
- Add NFC ePassport roadmap (ICAO 9303, eIDAS)
- Add TensorFlow.js edge face detection (BlazeFace)
- Add structured audit logger (GDPR-compliant)
- Risk scoring support

Part of KYC Apple Native UX v1.1.0
2026-06-29 16:24:48 +00:00

173 lines
4.6 KiB
Bash
Executable File

#!/bin/bash
# quiXzoom Build Verification Script
# Verifies that all required files exist for TestFlight build
set -e
echo "🔍 quiXzoom Build Verification"
echo "================================"
echo ""
# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
ERRORS=0
WARNINGS=0
check_file() {
if [ -f "$1" ]; then
echo -e "${GREEN}${NC} $1"
return 0
else
echo -e "${RED}${NC} $1 (MISSING)"
ERRORS=$((ERRORS + 1))
return 1
fi
}
check_dir() {
if [ -d "$1" ]; then
echo -e "${GREEN}${NC} $1/"
return 0
else
echo -e "${RED}${NC} $1/ (MISSING)"
ERRORS=$((ERRORS + 1))
return 1
fi
}
echo "📦 Core Files"
echo "-------------"
check_file "package.json"
check_file "app.json"
check_file "index.js"
check_file "App.js"
echo ""
echo "📱 iOS Project"
echo "--------------"
check_dir "ios"
check_file "ios/Podfile"
check_file "ios/quixzoom.xcodeproj/project.pbxproj"
check_file "ios/quixzoom/AppDelegate.h"
check_file "ios/quixzoom/AppDelegate.mm"
check_file "ios/quixzoom/main.m"
check_file "ios/quixzoom/Info.plist"
check_file "ios/quixzoom/LaunchScreen.storyboard"
check_file "ios/quixzoom/quixzoom.entitlements"
check_file "ios/quixzoom/Images.xcassets/Contents.json"
check_file "ios/quixzoom/Images.xcassets/AppIcon.appiconset/Contents.json"
check_file "ios/ExportOptions.plist"
echo ""
echo "🤖 Android Project"
echo "------------------"
check_dir "android"
check_file "android/build.gradle"
check_file "android/app/build.gradle"
check_file "android/app/src/main/AndroidManifest.xml"
echo ""
echo "📂 Source Files"
echo "---------------"
check_dir "src"
check_dir "src/api"
check_dir "src/components"
check_dir "src/hooks"
check_dir "src/navigation"
check_dir "src/screens"
check_dir "src/store"
check_dir "src/utils"
check_file "src/api/client.js"
check_file "src/components/CameraView.js"
check_file "src/components/EvidencePanel.js"
check_file "src/components/MissionCard.js"
check_file "src/components/StatsView.js"
check_file "src/hooks/useCamera.js"
check_file "src/hooks/useLocation.js"
check_file "src/hooks/useMissions.js"
check_file "src/navigation/AppNavigator.js"
check_file "src/screens/HomeScreen.js"
check_file "src/screens/StatsScreen.js"
check_file "src/screens/ProfileScreen.js"
check_file "src/store/store.js"
check_file "src/utils/permissions.js"
check_file "src/utils/offlineManager.js"
echo ""
echo "📋 Configuration Validation"
echo "---------------------------"
# Check bundle identifier
if grep -q "com.quixzoom.app" ios/quixzoom/Info.plist; then
echo -e "${GREEN}${NC} Bundle identifier: com.quixzoom.app"
else
echo -e "${YELLOW}⚠️${NC} Bundle identifier not found"
WARNINGS=$((WARNINGS + 1))
fi
# Check version
VERSION=$(grep "CFBundleShortVersionString" ios/quixzoom/Info.plist | head -1 | sed 's/.*<string>\(.*\)<\/string>.*/\1/')
echo -e "${GREEN}${NC} App version: $VERSION"
# Check minimum iOS version
MIN_IOS=$(grep "IPHONEOS_DEPLOYMENT_TARGET" ios/quixzoom.xcodeproj/project.pbxproj | head -1 | sed 's/.*= \(.*\);.*/\1/' | tr -d ' ')
echo -e "${GREEN}${NC} Minimum iOS version: $MIN_IOS"
# Check required device capabilities
if grep -q "gps" ios/quixzoom/Info.plist; then
echo -e "${GREEN}${NC} GPS capability declared"
else
echo -e "${RED}${NC} GPS capability missing"
ERRORS=$((ERRORS + 1))
fi
if grep -q "camera" ios/quixzoom/Info.plist; then
echo -e "${GREEN}${NC} Camera capability declared"
else
echo -e "${RED}${NC} Camera capability missing"
ERRORS=$((ERRORS + 1))
fi
echo ""
echo "🔐 Permissions Check"
echo "--------------------"
if grep -q "NSCameraUsageDescription" ios/quixzoom/Info.plist; then
echo -e "${GREEN}${NC} Camera permission description"
else
echo -e "${RED}${NC} Camera permission description missing"
ERRORS=$((ERRORS + 1))
fi
if grep -q "NSLocationWhenInUseUsageDescription" ios/quixzoom/Info.plist; then
echo -e "${GREEN}${NC} Location permission description"
else
echo -e "${RED}${NC} Location permission description missing"
ERRORS=$((ERRORS + 1))
fi
if grep -q "NSPhotoLibraryUsageDescription" ios/quixzoom/Info.plist; then
echo -e "${GREEN}${NC} Photo library permission description"
else
echo -e "${RED}${NC} Photo library permission description missing"
ERRORS=$((ERRORS + 1))
fi
echo ""
echo "================================"
if [ $ERRORS -eq 0 ]; then
echo -e "${GREEN}✅ Build verification PASSED${NC}"
echo " $WARNINGS warnings"
exit 0
else
echo -e "${RED}❌ Build verification FAILED${NC}"
echo " $ERRORS errors, $WARNINGS warnings"
exit 1
fi