Added CFBundleExecutable key required for iOS app installation: CFBundleExecutable: - Set to 'App' (matches PRODUCT_NAME from build settings) - Required by iOS to identify the executable binary - Without this, app installation fails with 'missing or invalid CFBundleExecutable' Fixes: - Installation error: 'Bundle has missing or invalid CFBundleExecutable in its Info.plist' - App can now be installed on simulator successfully Result: App installation should now complete successfully
iOS Test App for DailyNotification Plugin
Author: Matthew Raymer
Date: 2025-11-04
Version: 1.0.0
Overview
Standalone iOS test application for the DailyNotification Capacitor plugin. This app provides an interactive testing interface for all plugin features, similar to the Android test app (android-test-app).
Structure
ios-test-app/
├── App/ # Xcode project directory
│ ├── App/ # Main app source
│ │ ├── AppDelegate.swift
│ │ ├── ViewController.swift
│ │ ├── SceneDelegate.swift
│ │ ├── Info.plist
│ │ └── public/ # Web assets
│ │ └── index.html
│ ├── App.xcodeproj/ # Xcode project
│ ├── App.xcworkspace/ # CocoaPods workspace
│ └── Podfile # CocoaPods dependencies
├── scripts/ # Build scripts
└── README.md # This file
Prerequisites
- Xcode 14.0 or later
- CocoaPods (
gem install cocoapods) - Node.js (for Capacitor CLI)
- iOS 13.0+ deployment target
Setup
1. Install CocoaPods Dependencies
cd test-apps/ios-test-app/App
pod install
2. Build Plugin First
# From project root
./scripts/build-native.sh --platform ios
3. Open in Xcode
cd test-apps/ios-test-app/App
open App.xcworkspace
Building
Using Xcode
- Open
App.xcworkspacein Xcode - Select target device/simulator
- Build and run (⌘R)
Using Command Line
# Build for simulator
xcodebuild -workspace App.xcworkspace \
-scheme App \
-configuration Debug \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro' \
clean build
# Install on simulator
APP_PATH=$(find build -name "*.app" -type d | head -1)
xcrun simctl install booted "$APP_PATH"
xcrun simctl launch booted com.timesafari.dailynotification
Using Build Script
cd test-apps/ios-test-app
./scripts/build-and-deploy.sh
Plugin Integration
The plugin is integrated via CocoaPods:
# Podfile
pod 'DailyNotificationPlugin', :path => '../../../ios'
Features
- Interactive plugin testing interface
- Plugin diagnostics and status checking
- Notification scheduling and management
- Permission testing and management
- Comprehensive logging and debugging
Testing
The test interface is available at App/App/public/index.html and provides buttons for:
- Plugin availability testing
- Configuration
- Status checking
- Notification scheduling
- Permission management
- Channel management
Troubleshooting
Plugin Not Found
Ensure the plugin is built first:
./scripts/build-native.sh --platform ios
CocoaPods Issues
cd test-apps/ios-test-app/App
pod deintegrate
pod install
Build Errors
- Clean build folder in Xcode (⌘⇧K)
- Delete derived data
- Rebuild