Bitwarden 贡献文档
⮐ Bitwarden Contributing Documentation我的博客联系我
  • 关于
  • 入门
    • 概述
    • 工具
    • 服务器
      • 设置指南
      • 高级服务器设置
      • 数据库
        • MSSQL
        • 实体框架
      • 事件日志
      • Ingress 隧道
      • SCIM
      • 自托管指南
      • 系统管理门户
      • 单点登录 (SSO)
        • 本地 IdP
        • Okta
      • 故障排除
      • 用户机密
      • 公共 API
    • 网页客户端
      • 网页密码库
        • WebAuthn
      • 浏览器端
        • 生物识别解锁
        • Firefox 隐私模式
      • 桌面端
        • Mac App Store Dev
        • Microsoft Store
        • Native Messaging Test Runner
        • 更新测试
      • CLI
      • 故障排除
    • 移动端
      • Android
        • F-Droid
      • iOS
      • .NET MAUI (legacy)
        • Android
        • iOS
        • watchOS
    • SDK
      • 内部 SDK
      • Secrets Manager
        • Integrations
          • Kubernetes
    • 业务 App
      • 目录连接器
        • JumpCloud
        • OpenLDAP Docker 服务器
      • Key Connector
      • Splunk App
  • 贡献
    • 贡献
    • 代码样式
      • =Android & Kotlin
      • Angular & TypeScript
      • C#
      • =Rust
      • T-SQL
      • =Swift
      • Tailwind
    • 数据库迁移
      • 进化数据库设计
    • 提交签名
    • 拉取请求
      • =贡献审查程序
      • 分支
      • 代码审查
      • UI 审查 - Chromatic
    • 无障碍
    • 依赖管理
    • 功能标记
    • 模板存储库
    • 测试
      • =数据库集成测试
      • 负载测试
      • 单元测试
        • 命名约定
        • 测试结构
    • 修改用户机密
  • 架构
    • 架构
    • 架构决策记录 (ADR)
      • 0001 - Angular Reactive Forms
      • 0002 - Public API for modules
      • 0003 - Adopt Observable Data Services for Angular
      • 0004 - Refactor State Service
      • 0005 - Refactor Api Service
      • 0006 - Clients: Use Jest Mocks
      • 0007 - Manifest V3 sync Observables
      • 0008 - Server: Adopt CQRS
      • 0009 - Composition over inheritance
      • 0010 - Angular Modules
      • 0011 - Scalable Angular Clients folder structure
      • 0012 - Angular Filename convention
      • 0013 - Avoid layered folder structure for request/response models
      • 0014 - Adopt Typescript Strict flag
      • 0015 - Short Lived Browser Services
      • 0016 - Move Decryption and Encryption to Views
      • 0017 - Use Swift to build watchOS app
      • 0018 - Feature management
      • 0019 - Adoption of Web Push
      • 0020 - Observability with OpenTelemetry
      • 0021 - Logging to Standard Output
      • =0022 - Authorization
      • =0023 - Identifying Integrated Clients
    • 移动客户端架构
      • =Android
      • =iOS
        • =推送通知故障排除提示
      • =.NET MAUI (legacy)
        • =概述
        • watchOS
    • =SDK 架构
      • =数据模型
      • =依赖
      • Password Manager
        • Web
          • =互操作性
      • =Secrets Manager
      • =服务器绑定
      • =版本控制和破坏性更改
    • 网络客户端架构
      • 概述
      • 数据模型
      • 表示层
        • Angular
        • CLI
      • =依赖注入
      • 服务层
        • Vision
        • 实现
    • 服务器架构
    • 深度剖析
      • 身份验证
        • 双重身份验证
      • =授权
      • =浏览器自动填充
        • 收集页面详细信息
        • 生成并执行填充脚本
        • 表单提交检测
        • Shadow DOM
        • =内联自动填充菜单
      • Captcha
      • =只读数据库副本
      • 事件日志
      • =FIDO2 和通行密钥
        • =凭据
        • =操作
        • =命名惯例
        • =实现
          • =提供程序
            • =浏览器扩展
          • =依赖方
            • =用于解密的通行密钥
        • =术语表
      • 推送通知
        • 移动端推送通知
        • 其他客户端推送通知
      • =SSH 密钥和代理
        • =SSH 代理
      • =状态提供程序框架
        • =派生状态
    • =安全
      • =定义
      • =原则
        • =P01 - 锁定的密码库是安全的
        • =P02 - 半受损设备密码库的有限安全性
        • =P03 - 完全损坏的系统没有安全性
        • =P04 - 控制密码库数据的访问权限
        • =P05 - 将安全漏洞的影响降至最低
      • =要求
由 GitBook 提供支持
在本页
  • 设置
  • Xcode
  • 钥匙串
  • 配置配置文件
  • 测试
  • 故障排除
  1. 入门
  2. 网页客户端
  3. 桌面端

Mac App Store Dev

上一页桌面端下一页Microsoft Store

最后更新于1个月前

对应的

只有在测试 Mac App Store (MAS) 独有的某些功能时,才需要使用 Mac App Store (MAS) Dev 构建。一般来说,除非有特殊原因需要使用 MAS 构建,否则应使用主构建说明(使用 npm run electron)。

设置

这些步骤可能比较复杂。如果遇到任何困难,请在 #team-eng Slack 频道中发帖寻求帮助。

Xcode

  1. 安装

  2. 使用您的 AppleID(8bit solutions LLC 组织的成员)登录。这可以从 Xcode > Preferences ... > Accounts 完成

  3. 点击 Bitwarden Inc 团队并点击 Manage Certificates... ,以确保您拥有分配给 Bitwarden Inc 的个人代码签名证书。

  4. 如果未列出证书,请点击加号 ( + ) 创建一个。

钥匙串

验证您的 Apple 钥匙串是否包含 AC_PASSWORD 的值,如果没有,我们需要生成一个。

1、使用您的 Apple 账户在 登录

2、点击「应用程序专用密码」

3、然后点击 Passwords 旁边的 + 图标以添加新的应用程序专用密码

4、使用已保存的新应用程序专用密码

security add-generic-password -a "<apple_id>" -w "<app_specific_password>" -s "AC_PASSWORD"

配置配置文件

  1. 请求 DevOps (@DevOps in slack) 将您的 Apple Development 签名证书添加到配置文件中,以及将您的 Mac Provisioning UDID 添加到白名单中。通过转到 About This Mac > System Report... 可以找到 Provisioning UDID,然后复制 Provisioning UDID: 行

  2. 将配置文件安装到您的设备,并将其放置在 clients/apps/desktop 存储库根目录中。

测试

1、运行以下命令来识别您的个人开发证书的名称:

security find-identity -v | grep 'Apple Development'

2、运行 export CSC_NAME="",确保设置了 CSC_NAME 环境变量,其值应该是 find-identity 的输出,不带 Apple Development: 部分。

3、运行 npm run dist:mac:masdev。

如果这是您第一次在本地运行桌面,请确保在运行 npm run dist:mac:masdev 之前先运行 npm ci。

故障排除

如果收到错误消息 You do not have permission to open the application "Bitwarden".(您没有打开应用程序 "Bitwarden" 的权限),请确保将正确的配置文件放置在桌面存储库根目录中。

添加完所有内容后,从 下载 Bitwarden Desktop Development (2021) 配置文件

https://developer.apple.com/account/resources/profiles/list
官方页面地址
来自 App Store 的 Xcode
AppleID 网站