codecamp

Ollama Xcode

Xcode 26 起内置了 Intelligence 功能,支持接入「本地托管的模型」。Ollama 只要在 11434 端口上跑着,就可以直接加进去。

版本基线 v0.40.12,官方 docs.ollama.com/integrations/xcode。

一、前置条件

  • 装好 Xcode
  • Xcode 版本需为 v26.0
  • 已配置好 Apple Intelligence

Xcode 版本是硬门槛,v26 之前的版本没有这个设置入口。

二、接本地 Ollama

  1. 左上角 Xcode → Settings
  2. 选 Locally Hosted,端口填 11434,点 Add
  3. 点左上角的星标图标,展开下拉菜单
  4. 点 My Account,选择想要的模型

端口只填数字 11434,不用写 http://localhost: 前缀——Xcode 默认按 localhost 处理。

三、直连 ollama.com 云端

  1. 在 ollama.com/settings/keys 生成 API Key
  2. 选 Internet Hosted,URL 填 https://ollama.com
  3. 填入 Ollama API Key,点 Add

四、两种模式的配置对照

项 本地 云端
选项 Locally Hosted Internet Hosted
地址 端口 11434 https://ollama.com
认证 不需要 Ollama API Key
前提 Ollama 在跑 有账号和 Key

五、Apple 平台的集成全景

macOS 上接 Ollama 有几条不同的路,按使用场景区分:

工具 形态 入口 适合
Xcode IDE 内置 Intelligence Settings → Locally Hosted iOS/macOS 开发
Zed 编辑器 星标图标 → Configure 轻量编辑器用户
Claude Desktop 桌面应用 Ollama App → Apps 通用对话
VS Code 编辑器 Ollama 扩展 跨平台开发

Xcode 这条路的优势是模型直接在编码界面里可用,不用切换窗口。劣势是只对 Apple 平台开发有意义。

常见问题

现象 原因 处理
设置里没有 Locally Hosted Xcode 版本低于 26.0 升级 Xcode
添加后模型列表为空 Ollama 未运行或无模型 启动 Ollama 并 ollama pull
连接失败 端口填错 只填 11434
云端 401 API Key 错误 重新生成
功能不可用 Apple Intelligence 未启用 在系统设置里开启

动手试

## 确认 Ollama 在 11434 端口
curl http://localhost:11434/api/version

## 确认有可用模型
ollama list

然后 Xcode → Settings → Locally Hosted → 端口 11434 → Add,再从星标菜单的 My Account 里选模型。

Ollama Roo Code
Ollama Zed
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Ollama Cloud

Ollama CLI 命令行参考

Ollama Modelfile 参考

Ollama 上下文长度

Ollama 导入自定义模型

Ollama 常见问题

Ollama 硬件支持

Ollama 故障排查

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }