Fixed critical compilation errors preventing iOS plugin build: - Updated logger API calls from logger.debug(TAG, msg) to logger.log(.debug, msg) across all iOS plugin files to match DailyNotificationLogger interface - Fixed async/await concurrency in makeConditionalRequest using semaphore pattern - Fixed NotificationContent immutability by creating new instances instead of mutation - Changed private access control to internal for extension-accessible methods - Added iOS 15.0+ availability checks for interruptionLevel property - Fixed static member references using Self.MEMBER_NAME syntax - Added missing .scheduling case to exhaustive switch statement - Fixed variable initialization in retry state closures Added DailyNotificationStorage.swift implementation matching Android pattern. Updated build scripts with improved error reporting and full log visibility. iOS plugin now compiles successfully. All build errors resolved.
4.3 KiB
4.3 KiB
Viewing Build Errors - Full Output Guide
Author: Matthew Raymer
Date: November 4, 2025
Quick Methods to See Full Errors
Method 1: Run Build Script and Check Log Files
# Run the build script
./scripts/build-native.sh --platform ios
# If it fails, check the log files:
cat /tmp/xcodebuild_device.log # Device build errors
cat /tmp/xcodebuild_simulator.log # Simulator build errors
# View only errors:
grep -E "(error:|warning:)" /tmp/xcodebuild_simulator.log
Method 2: Run xcodebuild Directly (No Script Filtering)
# Build for simulator with full output
cd ios
xcodebuild -workspace DailyNotificationPlugin.xcworkspace \
-scheme DailyNotificationPlugin \
-configuration Debug \
-sdk iphonesimulator \
-destination 'generic/platform=iOS Simulator' \
CODE_SIGN_IDENTITY="" \
CODE_SIGNING_REQUIRED=NO \
CODE_SIGNING_ALLOWED=NO \
| tee build-output.log
# Then view errors:
grep -E "(error:|warning:)" build-output.log
Method 3: Redirect to File and View
# Save full output to file
./scripts/build-native.sh --platform ios 2>&1 | tee build-full.log
# View errors
grep -E "(error:|warning:|ERROR|FAILED)" build-full.log
# View last 100 lines
tail -100 build-full.log
Method 4: Use xcodebuild with Verbose Output
cd ios
# Build with verbose output
xcodebuild -workspace DailyNotificationPlugin.xcworkspace \
-scheme DailyNotificationPlugin \
-configuration Debug \
-sdk iphonesimulator \
-destination 'generic/platform=iOS Simulator' \
CODE_SIGN_IDENTITY="" \
CODE_SIGNING_REQUIRED=NO \
CODE_SIGNING_ALLOWED=NO \
-verbose \
2>&1 | tee build-verbose.log
# Extract just errors
grep -E "^error:" build-verbose.log | head -50
Filtering Output
Show Only Errors
# From log file
grep -E "^error:" /tmp/xcodebuild_simulator.log
# From live output
./scripts/build-native.sh --platform ios 2>&1 | grep -E "(error:|ERROR)"
Show Errors with Context (5 lines before/after)
grep -E "(error:|warning:)" -A 5 -B 5 /tmp/xcodebuild_simulator.log | head -100
Count Errors
grep -c "error:" /tmp/xcodebuild_simulator.log
Show Errors Grouped by File
grep "error:" /tmp/xcodebuild_simulator.log | cut -d: -f1-3 | sort | uniq -c | sort -rn
Common Error Patterns
Swift Compilation Errors
# Find all Swift compilation errors
grep -E "\.swift.*error:" /tmp/xcodebuild_simulator.log
# Find missing type errors
grep -E "cannot find type.*in scope" /tmp/xcodebuild_simulator.log
# Find import errors
grep -E "No such module|Cannot find.*in scope" /tmp/xcodebuild_simulator.log
CocoaPods Errors
# Find CocoaPods errors
grep -E "(pod|CocoaPods)" /tmp/xcodebuild_simulator.log -i
Build System Errors
# Find build system errors
grep -E "(BUILD FAILED|error:)" /tmp/xcodebuild_simulator.log
Debugging Tips
See Full Command Being Run
Add set -x at the top of the script, or run:
bash -x ./scripts/build-native.sh --platform ios 2>&1 | tee build-debug.log
Check Exit Codes
./scripts/build-native.sh --platform ios
echo "Exit code: $?"
View Build Settings
cd ios
xcodebuild -workspace DailyNotificationPlugin.xcworkspace \
-scheme DailyNotificationPlugin \
-showBuildSettings 2>&1 | grep -E "(SWIFT|FRAMEWORK|HEADER)"
Example: Full Debug Session
# 1. Run build and save everything
./scripts/build-native.sh --platform ios 2>&1 | tee build-full.log
# 2. Check exit code
echo "Build exit code: $?"
# 3. Extract errors
echo "=== ERRORS ===" > errors.txt
grep -E "(error:|ERROR)" build-full.log >> errors.txt
# 4. Extract warnings
echo "=== WARNINGS ===" >> errors.txt
grep -E "(warning:|WARNING)" build-full.log >> errors.txt
# 5. View errors file
cat errors.txt
# 6. Check log files created by script
ls -lh /tmp/xcodebuild*.log
Quick Reference
# Most common: View simulator build errors
cat /tmp/xcodebuild_simulator.log | grep -E "(error:|warning:)" | head -30
# View full build log
cat /tmp/xcodebuild_simulator.log | less
# Search for specific error
grep -i "cannot find type" /tmp/xcodebuild_simulator.log
# Count errors by type
grep "error:" /tmp/xcodebuild_simulator.log | cut -d: -f4 | sort | uniq -c | sort -rn