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

使用altool执行应用公证时报错Is a directory (21)如何解决

问题排查解决步骤

你遇到的报错核心是altool的--file参数不支持直接传入.app格式的应用包,.app本质是macOS下的bundle目录结构,并非单文件,因此触发「Is a directory」错误,可按以下步骤解决:

  • 第一步:将签名完成的.app打包为zip压缩包
    打包时需保留应用的签名、权限等元信息,推荐使用ditto命令执行打包:
    ditto -c -k --sequesterRsrc --keepParent "myapp.app" "myapp.zip"
    
    也可右键点击.app文件选择「压缩」,效果一致。
  • 第二步:修改altool命令替换传入文件
    将原命令中--file参数的取值替换为打包生成的zip包路径,修改后命令示例:
    xcrun altool --notarize-app --primary-bundle-id "me.myapp" --username me@live.com --password mypass  --file "myapp.zip"
    
  • 第三步:若修改后仍报错,按以下方向核查
    • 确认命令中填写的文件路径准确,未误指向其他目录
    • 执行xcode-select -p核查命令行工具路径是否指向当前使用的Xcode 13.1,若路径错误可执行以下命令修正:
      sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
      
    • 提前核查.app是否已完成带hardened runtime选项的开发者ID签名,未签名的应用无法正常完成公证,签名命令示例:
      codesign --force --options runtime --sign "Developer ID Application: 你的开发者账户名" "myapp.app"
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 13:24:09