Initial scaffold — NASBackup iOS app
Full project scaffold: XcodeGen project.yml, Core models/protocols/errors,
SMBService (kishikawakatsumi/SMBClient), SFTPService (Citadel 0.9.2),
PhotoLibraryService, LANMonitor, BackupEngine, BackgroundTaskManager,
all feature UIs (Login, Connect, Browse, Backup, History, Settings),
Shared components and theme. Builds clean with zero errors.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 17:05:04 +03:00
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
|
|
|
<plist version="1.0">
|
|
|
|
|
<dict>
|
|
|
|
|
<key>BGTaskSchedulerPermittedIdentifiers</key>
|
|
|
|
|
<array>
|
|
|
|
|
<string>com.albert.nasbackup.backup</string>
|
|
|
|
|
<string>com.albert.nasbackup.refresh</string>
|
|
|
|
|
</array>
|
|
|
|
|
<key>CFBundleDevelopmentRegion</key>
|
|
|
|
|
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
|
|
|
|
<key>CFBundleDisplayName</key>
|
feat: Kisani UI overhaul — brand identity, gallery, visual polish
- Rename app to Kisani (CFBundleDisplayName, xcodeproj → Kisani.xcodeproj)
- BackupView: kisani. wordmark + SwiftUI-drawn server logo mark (no asset,
adaptive ink/bg), 206pt progress ring with active-state glow, 4-page
swipeable ring (progress/pending/failed/uploaded), 4-metric stats strip,
friendly NAS card (Home Server label), hamburger → AppMenuView sheet
- GalleryView: new NAS + local photo grid with source picker chip, 3-col
lazy grid, ThumbnailCache, sync-status dots (green = backed up)
- MainTabView: Browse tab → Gallery tab; tab bar uses ultraThinMaterial
blur background (systemGray3 icons, 9.5pt labels)
- All app icon sizes regenerated from 1024pt source via sips
- LANMonitor: nasReachable Bool?, checkNASReachability(host:port:) TCP ping
- project.yml: photo library usage description updated to Kisani branding
Co-Authored-By: Kutesir <kutesir@provoc.ug>
Co-Authored-By: Sentry <sentry@provoc.ug>
2026-05-17 11:17:13 +03:00
|
|
|
<string>Kisani</string>
|
Initial scaffold — NASBackup iOS app
Full project scaffold: XcodeGen project.yml, Core models/protocols/errors,
SMBService (kishikawakatsumi/SMBClient), SFTPService (Citadel 0.9.2),
PhotoLibraryService, LANMonitor, BackupEngine, BackgroundTaskManager,
all feature UIs (Login, Connect, Browse, Backup, History, Settings),
Shared components and theme. Builds clean with zero errors.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 17:05:04 +03:00
|
|
|
<key>CFBundleExecutable</key>
|
|
|
|
|
<string>$(EXECUTABLE_NAME)</string>
|
|
|
|
|
<key>CFBundleIdentifier</key>
|
|
|
|
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
|
|
|
<key>CFBundleInfoDictionaryVersion</key>
|
|
|
|
|
<string>6.0</string>
|
|
|
|
|
<key>CFBundleName</key>
|
|
|
|
|
<string>$(PRODUCT_NAME)</string>
|
|
|
|
|
<key>CFBundlePackageType</key>
|
|
|
|
|
<string>APPL</string>
|
|
|
|
|
<key>CFBundleShortVersionString</key>
|
|
|
|
|
<string>1.0</string>
|
|
|
|
|
<key>CFBundleVersion</key>
|
|
|
|
|
<string>1</string>
|
|
|
|
|
<key>NSFaceIDUsageDescription</key>
|
|
|
|
|
<string>Sign in quickly with Face ID.</string>
|
|
|
|
|
<key>NSPhotoLibraryUsageDescription</key>
|
feat: Kisani UI overhaul — brand identity, gallery, visual polish
- Rename app to Kisani (CFBundleDisplayName, xcodeproj → Kisani.xcodeproj)
- BackupView: kisani. wordmark + SwiftUI-drawn server logo mark (no asset,
adaptive ink/bg), 206pt progress ring with active-state glow, 4-page
swipeable ring (progress/pending/failed/uploaded), 4-metric stats strip,
friendly NAS card (Home Server label), hamburger → AppMenuView sheet
- GalleryView: new NAS + local photo grid with source picker chip, 3-col
lazy grid, ThumbnailCache, sync-status dots (green = backed up)
- MainTabView: Browse tab → Gallery tab; tab bar uses ultraThinMaterial
blur background (systemGray3 icons, 9.5pt labels)
- All app icon sizes regenerated from 1024pt source via sips
- LANMonitor: nasReachable Bool?, checkNASReachability(host:port:) TCP ping
- project.yml: photo library usage description updated to Kisani branding
Co-Authored-By: Kutesir <kutesir@provoc.ug>
Co-Authored-By: Sentry <sentry@provoc.ug>
2026-05-17 11:17:13 +03:00
|
|
|
<string>Kisani needs access to your photos to back them up to your NAS.</string>
|
Initial scaffold — NASBackup iOS app
Full project scaffold: XcodeGen project.yml, Core models/protocols/errors,
SMBService (kishikawakatsumi/SMBClient), SFTPService (Citadel 0.9.2),
PhotoLibraryService, LANMonitor, BackupEngine, BackgroundTaskManager,
all feature UIs (Login, Connect, Browse, Backup, History, Settings),
Shared components and theme. Builds clean with zero errors.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 17:05:04 +03:00
|
|
|
<key>UIApplicationSceneManifest</key>
|
|
|
|
|
<dict>
|
|
|
|
|
<key>UIApplicationSupportsMultipleScenes</key>
|
|
|
|
|
<true/>
|
|
|
|
|
<key>UISceneConfigurations</key>
|
|
|
|
|
<dict>
|
|
|
|
|
<key>UIWindowSceneSessionRoleApplication</key>
|
|
|
|
|
<array>
|
|
|
|
|
<dict>
|
|
|
|
|
<key>UISceneConfigurationName</key>
|
|
|
|
|
<string>Default Configuration</string>
|
|
|
|
|
<key>UISceneDelegateClassName</key>
|
|
|
|
|
<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
|
|
|
|
|
</dict>
|
|
|
|
|
</array>
|
|
|
|
|
</dict>
|
|
|
|
|
</dict>
|
|
|
|
|
<key>UIBackgroundModes</key>
|
|
|
|
|
<array>
|
|
|
|
|
<string>fetch</string>
|
|
|
|
|
<string>processing</string>
|
|
|
|
|
</array>
|
|
|
|
|
<key>UILaunchStoryboardName</key>
|
|
|
|
|
<string></string>
|
|
|
|
|
<key>UISupportedInterfaceOrientations</key>
|
|
|
|
|
<array>
|
|
|
|
|
<string>UIInterfaceOrientationPortrait</string>
|
|
|
|
|
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
|
|
|
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
|
|
|
</array>
|
|
|
|
|
<key>UISupportedInterfaceOrientations~ipad</key>
|
|
|
|
|
<array>
|
|
|
|
|
<string>UIInterfaceOrientationPortrait</string>
|
|
|
|
|
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
|
|
|
|
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
|
|
|
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
|
|
|
</array>
|
|
|
|
|
</dict>
|
|
|
|
|
</plist>
|