首页 > 其他分享 >pb文件本地pod管理

pb文件本地pod管理

时间:2023-05-30 22:22:44浏览次数:37  
标签:files 本地 ss AKProtoOC pb file path pod

Pod::Spec.new do |s|
  s.name                  = 'AKProtoOC'
  s.version               = '1.0.0'
  s.license               = 'MIT'
  s.summary               = 'PB文件本地库管理'
  s.homepage              = 'https://xxxxxx'
  s.author                = { 'CoderWGB' => 'xxx' }
  s.source                = { :file => './AKProtoOC', :tag => "v#{s.version}" }
  s.requires_arc          =  false #pod私库的好处 不用自己添加mrc兼容 其次新增或者修改只需要把文件放进来 `pod install`就好了
  s.ios.deployment_target = '10.0'
#  s.source_files = 'AKProtoOC/**/*.{h,m}'
#  s.public_header_files = 'AKProtoOC/**/*.h'
  s.dependency 'Protobuf', '~> 3.6.1'  
  s.subspec 'client' do | ss |
    ss.source_files = 'AKProtoOC/client/*.{h,m}'
  end
  
  s.subspec 'pb' do | ss |
    ss.source_files = 'AKProtoOC/pb/*.{h,m}'
  end

  s.subspec 'plugin_pb' do | ss |
    ss.source_files = 'AKProtoOC/plugin_pb/*.{h,m}'
  end

  s.subspec 'uauth_pb' do | ss |
    ss.source_files = 'AKProtoOC/uauth_pb/*.{h,m}'
  end

end

  1. pod install之后发现还是报错,有些可能是后端文件依赖规则没写好,导致生成的枚举一些定义重复,这个需要手动改
  2. 生成的OC代码路径为相对路径 #import "pb/CommonExt.pbobjc.h" 类似这种, 本地pod管理之后貌似只能#import "CommonExt.pbobjc.h"这样导入
    所以让GPT写了个脚本,执行拉取pb并生成OC文件之后,再执行py脚本改改头文件导入
import os

def process_file(file_path):
    with open(file_path, 'r') as f:
        lines = f.readlines()
    with open(file_path, 'w') as f:
        for line in lines:
            if line.startswith('#import "') and '/' in line:
                parts = line.split('/')
                last_part = parts[-1].strip()
                new_line = '#import "{}"\n'.format(last_part)
                f.write(new_line)
            else:
                f.write(line)

def process_directory(dir_path):
    for root, dirs, files in os.walk(dir_path):
        for file in files:
            if file.endswith('.h') or file.endswith('.m'):
                file_path = os.path.join(root, file)
                process_file(file_path)

if __name__ == '__main__':
    process_directory('.')

如此就搞定了, 写py脚本这件事情上 GPT 还算靠谱~

标签:files,本地,ss,AKProtoOC,pb,file,path,pod
From: https://www.cnblogs.com/wgb1234/p/17444671.html

相关文章

  • K8s如何查看pod崩溃前的日志及其
    K8s如何查看pod崩溃前的日志及其原理lulu的云原生笔记 K8S中文社区 2023-05-3019:15 发表于湖南场景当pod处于crash状态的时候,容器不断重启,此时用 kubeletlogs 可能出现一直捕捉不到日志。解决方法:kubectlprevious 参数作用:Iftrue,printthelogsfortheprevio......
  • jquery本地存储的数据格式只能是字符串,如需存储对象,需要转换后存储
    <!DOCTYPEhtml><htmllang="en"> <head> <metacharset="UTF-8"> <title>Title</title> <scriptsrc="js/jquery-3.5.1.min.js"></script> </head> <body> <scri......
  • hj_podman_jenkins_maven_git_springboot_ssh一键部署项目
    podmanpulljenkins/jenkins:jdk17podmanrun-d--privileged=true\-uroot--namejenkins_jdk17_8081\-p8081:8080-p50001:50000\-v/hj_files/jenkins_jdk17:/var/jenkins_home\a307650508c6http://105.35.260.230:8081/ 安装好推荐配置后.再安装俩插件  Mave......
  • redis本地部署
    1、Linux部署到https://redis.io/download/下载安装包下面的是最新的稳定版本,当然你也可以下载其他稳定版本 2、window部署到https://github.com/MicrosoftArchive/redis/releases下载安装包3、可视化工具 RedisPlus:免费、开源、支持Linux、window下载地址:https:/......
  • 如何提升项目的本地构建效率?
    前言最近写H5的项目比较多,该项目从年龄上看着还算比较年轻......
  • Firefox 插件:网页剪贴簿(继承自 Firefox 旧版插件 ScrapBook X)
    Firefox插件:网页剪贴簿(继承自Firefox旧版插件ScrapBookX)获取网页至本地或后端服务器供检索、组织、加注、编辑。https://addons.mozilla.org/zh-CN/firefox/addon/webscrapbook/ 网页剪贴簿(WebScrapBook)可以忠实撷取网页内容,支援多种储存格式与客制化设定,还可以对撷......
  • Apifox 网页端调试本地接口
    1.下载浏览器插件https://cdn.apifox.cn/download/apifox-browser-extension/Apifox-browser-extension.zip下载后解压2.安装浏览器插件1)谷歌浏览器访问chrome://extensions/2)开启开发者模式3)点击加载已解压的扩展程序按钮,选择第1步中下载的浏览器插件Apifox-Agent-Chrome安......
  • k8s-Pod调度策略(入门攻略)
    首先在k8s中,k8s会根据每个work节点的配置,负载差异,自动生成优选函数,根据优选函数,当master节点分配下来任务时,将pod分配带最适合运行的node节点上。之外我们技术人员还有以下三种方式去影响我们的pod调度,node节点调度器亲和性调度污点容忍度区别和实例操作一.node节点调度是最直接的......
  • How to boot the Raspberry Pi system from a USB Mass Storage Device All In One
    HowtoboottheRaspberryPisystemfromaUSBMassStorageDeviceAllInOne如何从USB启动树莓派引导系统/如何从USB大容量存储设备启动RaspberryPi系统https://www.raspberrypi.com/news/pi-3-booting-part-i-usb-mass-storage-boot/officaildocsThispag......
  • 本地spark通过spark集群连接hive
    最近在学习spark,上周将spark集群搭建起来了,今天在idea中创建了一个测试程序读取hive库中的数据,程序很简单,但是踩到一些坑,卡了四五个小时,做个记录。搭建Spark集群比较简单:1、安装scala,scala版本要和spark使用的scala版本一致(因为这个问题卡了五六个小时)2、下载、解压,配置环境变......