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

归档正常但Xcode运行Safari Web Extension报错:找不到资源文件

Safari Web Extension开发调试异常问题(Xcode运行时资源找不到)

问题详情

归档导出应用并安装后,扩展在Safari中运行完全正常,无报错且资源加载正常。但**直接从Xcode运行应用(开发调试)**时,Safari扩展偏好设置会显示以下错误:

  • 无法在扩展资源中找到‘popup.html’
  • 偶尔还会显示:无法在扩展资源中找到‘background.js’

此外,应用启动后,扩展也不会出现在Safari的扩展列表中。该问题此前正常工作,在我通过归档导出应用副本测试后,就无法从Xcode正常运行调试了。

已尝试的解决措施

  1. 检查文件包含
    • 确认popup.html及其他资源文件已加入扩展目标,且在Copy Bundle Resources构建阶段中
    • 验证文件实际存在于扩展包的Contents/Resources/路径下
  2. 校验manifest.json
    • 确保popup.html等资源的路径配置正确
    • 确认文件无语法错误
  3. 清理构建产物
    • 在Xcode中执行Clean Build Folder
    • 删除Derived Data目录
    • 重启Xcode并重新构建项目
  4. 卸载旧版本
    • 移除/Applications、~/Applications、~/Library/Safari/Extensions/中的所有应用及扩展实例
    • 清除Safari的扩展缓存与偏好设置
    • 重启Mac重置所有进程
  5. 代码签名与权限
    • 确认应用和扩展已通过自动签名完成正确签名
    • 验证必要的entitlements配置无误
  6. Bundle Identifiers与版本
    • 确认应用和扩展的Bundle Identifiers配置正确
    • 递增构建版本号
  7. 构建配置
    • 尝试Debug和Release两种配置运行应用
    • 调整Scheme确保构建配置匹配
  8. 测试将应用移至/Applications
    • 构建应用后手动移至/Applications目录
    • 从此处启动应用,但扩展仍未在Safari中显示

额外观察

  • 问题仅出现在Xcode运行调试时,归档导出的应用无任何异常
  • Safari可能对Xcode运行时的扩展位置或属性有特定要求
  • 检查构建后的应用和扩展包,popup.html等文件存在且路径正确,未发现相关错误

问题咨询

  • 是否有人遇到过Xcode运行宿主应用时,Safari Web Extension无法正常加载的类似问题?
  • 开发期间确保Safari识别并加载扩展需要哪些特定步骤或配置?
  • 该问题是否与Xcode运行时的代码签名、权限或macOS安全设置有关?

环境信息

  • macOS版本: macOS Sequoia 15.2
  • Xcode版本: Xcode 16.1
  • Safari版本: Safari 18.2
  • 开发环境: 带macOS宿主应用的Safari Web Extension,使用Swift和JavaScript开发

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 09:41:01