You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

迁移React Native白标应用至Expo 0.76:配置Xcode支持目标

解决方案

1. 配置iOS支持的设备(移除iPad、启用Mac Catalyst)

在app.config.ts的ios字段中添加以下配置,直接控制Xcode的「Supported Destinations」:

import { ExpoConfig } from '@expo/config';

const config: ExpoConfig = {
  name: 'YourAppName',
  slug: 'your-app-slug',
  // 其他基础配置...
  ios: {
    bundleIdentifier: 'com.yourcompany.yourapp',
    // 仅保留iPhone支持,自动移除iPad
    supportedDevices: ['iphone'],
    // 启用Mac Catalyst支持
    enableMacCatalyst: true,
    // 配置Mac Catalyst专属设置(可选)
    macCatalyst: {
      deviceFamilies: ['mac'],
    },
    // 其他iOS相关配置...
  },
  // 其他平台配置...
};

export default config;
  • supportedDevices: ['iphone']:会让Xcode只列出iPhone作为支持设备,自动剔除iPad选项。
  • enableMacCatalyst: true:开启Mac Catalyst支持,预构建后Xcode会自动添加「My Mac」作为目标选项。

2. 设置默认目标为「My Mac」

借助expo-build-properties插件修改Xcode构建配置,实现默认目标设置:

  1. 先安装插件:
npx expo install expo-build-properties
  1. 在app.config.ts的plugins数组中添加配置:
plugins: [
  [
    'expo-build-properties',
    {
      ios: {
        xcodeBuildSettings: {
          // 将默认目标设为Mac(TARGETED_DEVICE_FAMILY值:1=iPhone,2=Mac)
          TARGETED_DEVICE_FAMILY: '2',
          // 替换为你的开发团队ID(可选,但部分场景需要)
          DEVELOPMENT_TEAM: 'YOUR_TEAM_ID',
        },
      },
    },
  ],
],

这样预构建后,Xcode打开项目时默认选中的目标就是「My Mac」。

3. 保持预构建干净,无需提交原生文件夹

  • 确保.gitignore中包含ios/目录,避免提交自动生成的原生文件:
# Expo generated native folders
ios/
android/
  • 每次需要更新原生配置时,执行干净预构建:
npx expo prebuild --clean
  • 推荐使用EAS Build进行云端构建,完全不需要本地维护原生文件夹,保持项目轻量化。

内容的提问来源于stack exchange,提问作者Voxar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 16:25:00