Skip to content

exclude watch app conditionally in build phase as well#3815

Merged
mdmohsin7 merged 1 commit into
mainfrom
conditional-excldue
Dec 17, 2025
Merged

exclude watch app conditionally in build phase as well#3815
mdmohsin7 merged 1 commit into
mainfrom
conditional-excldue

Conversation

@mdmohsin7
Copy link
Copy Markdown
Member

@mdmohsin7 mdmohsin7 commented Dec 17, 2025


EntelligenceAI PR Summary

This PR configures the iOS Xcode project to properly build and embed the watchOS companion app only on physical devices, preventing simulator build errors.

  • Modified 'Embed Watch Content' build phase for omiWatchApp with buildActionMask changed from 2147483647 to 8
  • Added platformFilter constraint to restrict watchOS app dependency to physical iOS devices (iphoneos)
  • Excluded omiWatchApp.app binary from iOS simulator builds across all six build configurations (Debug-dev, Debug-prod, Profile, Profile-dev, Profile-prod, Release)

@mdmohsin7 mdmohsin7 merged commit 94f16e1 into main Dec 17, 2025
1 check passed
@mdmohsin7 mdmohsin7 deleted the conditional-excldue branch December 17, 2025 07:33
@entelligence-ai-pr-reviews
Copy link
Copy Markdown

Entelligence AI Vulnerability Scanner

Status: No security vulnerabilities found

Your code passed our comprehensive security analysis.

@entelligence-ai-pr-reviews
Copy link
Copy Markdown

Review Summary

@entelligence-ai-pr-reviews
Copy link
Copy Markdown

Walkthrough

This PR configures the iOS Xcode project to properly handle the watchOS companion app (omiWatchApp) build process. The changes ensure the watch app is only built and embedded when targeting physical iOS devices, preventing build errors on the iOS simulator. Key modifications include adjusting the build phase settings for the watch app, adding platform filters to restrict the dependency to physical devices (iphoneos), and excluding the watchOS app binary from all simulator build configurations (Debug-dev, Debug-prod, Profile, Profile-dev, Profile-prod, and Release).

Changes

File(s) Summary
app/ios/Runner.xcodeproj/project.pbxproj Configured watchOS companion app build settings: added omiWatchApp to 'Embed Watch Content' build phase with buildActionMask adjusted from 2147483647 to 8, added platformFilter constraint to limit dependency to physical iOS devices (iphoneos), and excluded omiWatchApp.app binary from iOS simulator builds across all build configurations (Debug-dev, Debug-prod, Profile, Profile-dev, Profile-prod, Release).

Sequence Diagram

This diagram shows the interactions between components:

sequenceDiagram
    participant XcodeBuild as Xcode Build System
    participant Runner as iOS App (Runner)
    participant WatchApp as omiWatchApp.app
    participant BuildConfig as Build Configuration

    Note over XcodeBuild,BuildConfig: Watch App Integration Setup

    XcodeBuild->>BuildConfig: Configure build settings
    activate BuildConfig
    
    alt Building for Physical Device (iphoneos)
        BuildConfig->>Runner: Set platformFilter = iphoneos
        BuildConfig->>Runner: Include omiWatchApp.app in build
        Runner->>WatchApp: Add as target dependency
        activate WatchApp
        WatchApp-->>Runner: Watch app compiled
        deactivate WatchApp
        
        Runner->>Runner: Execute "Embed Watch Content" phase
        Note over Runner: buildActionMask = 8<br/>Copy to $(CONTENTS_FOLDER_PATH)/Watch
        Runner->>Runner: Embed omiWatchApp.app
        
    else Building for Simulator (iphonesimulator)
        BuildConfig->>Runner: Set EXCLUDED_SOURCE_FILE_NAMES
        Note over Runner: omiWatchApp.app excluded<br/>from simulator builds
        Runner->>Runner: Skip Watch app embedding
        Note over Runner,WatchApp: Watch app not included<br/>in simulator build
    end
    
    deactivate BuildConfig
    
    Note over XcodeBuild,BuildConfig: Applied to all configurations:<br/>Debug, Release, Profile<br/>(dev/prod variants)
    
    XcodeBuild->>Runner: Build complete
Loading

🔗 Cross-Repository Impact Analysis

Enable automatic detection of breaking changes across your dependent repositories. → Set up now

Learn more about Cross-Repository Analysis

What It Does

  • Automatically identifies repositories that depend on this code
  • Analyzes potential breaking changes across your entire codebase
  • Provides risk assessment before merging to prevent cross-repo issues

How to Enable

  1. Visit Settings → Code Management
  2. Configure repository dependencies
  3. Future PRs will automatically include cross-repo impact analysis!

Benefits

  • 🛡️ Prevent breaking changes across repositories
  • 🔍 Catch integration issues before they reach production
  • 📊 Better visibility into your multi-repo architecture

▶️AI Code Reviews for VS Code, Cursor, Windsurf
Install the extension

Note for Windsurf Please change the default marketplace provider to the following in the windsurf settings:

Marketplace Extension Gallery Service URL: https://marketplace.visualstudio.com/_apis/public/gallery

Marketplace Gallery Item URL: https://marketplace.visualstudio.com/items

Entelligence.ai can learn from your feedback. Simply add 👍 / 👎 emojis to teach it your preferences. More shortcuts below

Emoji Descriptions:

  • ⚠️ Potential Issue - May require further investigation.
  • 🔒 Security Vulnerability - Fix to ensure system safety.
  • 💻 Code Improvement - Suggestions to enhance code quality.
  • 🔨 Refactor Suggestion - Recommendations for restructuring code.
  • ℹ️ Others - General comments and information.

Interact with the Bot:

  • Send a message or request using the format:
    @entelligenceai + *your message*
Example: @entelligenceai Can you suggest improvements for this code?
  • Help the Bot learn by providing feedback on its responses.
    @entelligenceai + *feedback*
Example: @entelligenceai Do not comment on `save_auth` function !

Also you can trigger various commands with the bot by doing
@entelligenceai command

The current supported commands are

  1. config - shows the current config
  2. retrigger_review - retriggers the review

More commands to be added soon.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the Xcode project file (project.pbxproj) to correctly configure the omiWatchApp. The changes include explicitly embedding the omiWatchApp.app into the main application's build phase, adding a platformFilter = iphoneos to the omiWatchApp target dependency, and excluding omiWatchApp.app from source files when building for the iOS simulator across various build configurations (Profile, Debug-prod, Release, Profile-dev, Profile-prod, Debug-dev).

Glucksberg pushed a commit to Glucksberg/omi-local that referenced this pull request Apr 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant