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

iOS Share Extension无法在iOS模拟器运行但真机正常的问题求助

iOS模拟器启动含Share Extension应用报错的原因及解决方法

问题原因

错误核心是主应用与Share Extension的目标平台/架构不匹配。真机环境下两者都编译iOS真机架构,可正常运行;但模拟器中主应用编译的是模拟器架构(x86_64/arm64),若Share Extension被设置为仅编译真机架构,嵌入的.appex二进制会和主应用平台冲突,触发系统验证错误。

解决步骤

1. 统一Deployment Target

  • 分别选中主应用和Share Extension的target
  • 进入「General」标签页,确保两者的「Deployment Info」中iOS版本一致,且均勾选模拟器设备(如iPhone、iPad)

2. 同步架构设置

  • 选中主应用target,进入「Build Settings」,搜索Architectures:
    • 将「Architectures」设为Standard Architectures (arm64, x86_64)(Xcode 12+)
    • 若存在「Valid Architectures」,确保包含arm64和x86_64(Xcode 12+无此选项可忽略)
  • 对Share Extension target执行完全相同的架构配置

3. 调整Build Active Architecture Only

  • 在「Build Settings」中搜索Build Active Architecture Only:
    • Debug模式设为YES,Release模式设为NO
    • 该设置确保Debug时仅编译当前选中设备的架构,避免跨平台架构混合

4. 清理并重新编译

  • 按Cmd + Shift + K清理项目
  • 按Cmd + Option + Shift + K清除Derived Data
  • 重新选择模拟器设备,点击「Build and Run」

额外排查项

若以上步骤无效,检查:

  • Share Extension的Info.plist中,NSExtension -> NSExtensionAttributes -> NSExtensionActivationRule配置是否存在模拟器不兼容的规则
  • 确认主应用「Embedded Binaries」中添加的是Share Extension的模拟器版本产物

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 10:08:28