ios cocoapods-keys插件介绍

cocoapods-keys介绍

cocoapods-keys 是一个 CocoaPods 插件,用于帮助 iOS 开发者管理应用程序中的敏感信息,如 API 密钥、访问令牌、密码等。

特点:

  • 安全性:敏感信息不会直接暴露在代码中,减少了泄露的风险。
  • 易于管理:所有敏感信息都集中存储在一个地方,方便管理和维护。
  • 便捷性:在开发和部署过程中,你可以轻松地更改这些敏感信息,而不需要修改代码。

cocoapods-keys github地址

安装

gem install cocoapods-keys 或 sudo gem install cocoapods-keys

工作原理

在这里插入图片描述

密钥名称存储在~/.cocoapods/keys/,key 和 values 存储在电脑的钥匙串中,当执行 pod install or pod update命令是,会创建一个带有加密版本的密钥的Objective-C类,这使得很难转储解密二进制文件的内容并提取密钥。在运行时,这些键会被解码,以便在应用程序中使用。

Usage Plugin

Using the new Plugin API in CocoaPods we can automate a lot of the fiddly bits away. You define what keys you want inside your Podfile and Keys will detect what keys are not yet set. If you need to specify a different project name from the target name, use the key :target to specify it.

在Podfile 文件中使用 Plugin api 自动生成,keys 将检测尚未设置的键,如果您需要指定与目标名称不同的项目名称,请使用:target键来指定它。

  • 请不要在key 中使用 -,中划线,如:将 WRONGLY-DEFINED-KEY 换成CorrectlyDefinedKey
plugin 'cocoapods-keys', {
  :project => "Eidolon",
  :keys => [
    "ArtsyAPIClientSecret",
    "ArtsyAPIClientKey",
    "HockeyProductionSecret",
    "HockeyBetaSecret",
    "MixpanelProductionAPIClientKey",
    ...
  ]}
 //或
 plugin 'cocoapods-keys', {
  :project => "Eidolon",
  :target => 'sdrworkspace',
  :keys => [
    "ArtsyAPIClientSecret",
    "ArtsyAPIClientKey",
    "HockeyProductionSecret",
    "HockeyBetaSecret",
    "MixpanelProductionAPIClientKey",
    ...
  ]}

常用指令

在这里插入图片描述

  • 1.列出所有已知的键
pod keys
或
pod keys list
  • 2.设值或新增键值
pod keys set "AnalyticsToken" "6TYKGVCn7sBSBFpwfSUCclzDoSBtEXw7"
  • 3.查看值
 pod keys get nameKey
  • 4.删除键值
  pod keys rm AnalyticsToken // 删除指定key
  pod keys rm "*" // 删除所有key
  pod keys rm --all // 删除所有key
  pod keys rm "G*og*" // 将删除以 G 开头,中间有og的key

在这里插入图片描述

  • 5.bundle exec pod keys generate [optional project]将生成混淆化的Objective-C keys类(主要在内部使用)。
pod keys generate [optional project]

虽然我传了一个YFLopPrintTwo,明显找不到 YFLopPrintTwo project,插件会自动追踪正确的project
在这里插入图片描述

在这里插入图片描述

  • pod keys export 命令

issue

  • 如果生成的OC类名称不对,如 Doctor_workspaceKeys.h变成了Doctor_modules_imKeys.h,怎么处理?

    1.plugin的时候指定target,如

plugin 'cocoapods-keys', {
  :project => 'doctor_workspace',
  :target => 'doctor_workspace',
  :keys => [
    "ServerDomainRelease", # Release
  ]
}
2.删除以下文件
	* ~/.cocoapods/keys/错误的.yml 名称文件
	* 项目目录/Pods/CocoaPodsKeys
	* 项目目录/Pods/Pods.xcodeproj
	* 项目目录/Pods.project_cache // 这个是隐藏目录
	* 还不行的话将钥匙圈错误的keyName 删除掉

在这里插入图片描述
3.再去重新pod install
4.名称正确之后,再通过指令pod keys rm --all删除所有的key,删完之后再去跑脚本设置正确的key 和 value。脚本成功执行后如果在项目keys.h文件不对的话,再执行一下 pod install

  • 24
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值