# iOSLang **Repository Path**: wugemu/iOSLang ## Basic Information - **Project Name**: iOSLang - **Description**: No description available - **Primary Language**: Objective-C - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-02-08 - **Last Updated**: 2021-02-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # iOSNyso git本地私有仓库,将库上传至私有cocoapods库 操作步骤参考链接: [https://cloud.tencent.com/developer/article/1120259] [https://www.jianshu.com/p/64ad0a5b0554] # 绑定自己的 GitHub 帐号 向CocoaPods注册请将下面的内容替换为自己的 pod trunk register 245868553@qq.com 'wugemu' --verbose 查看是否注册成功,终端中执行下列命令 pod trunk me 在项目平级目录中创建 .podspec 文件 pod spec create iOSNyso 设置 podspec 文件内容 Pod::Spec.new do |spec| spec.name = "iOSNyso" spec.version = "1.0.0" spec.summary = "开发基础库" spec.description = <<-DESC 包含了基础架构和网络请求 DESC spec.homepage = "https://github.com/wugemu/iOSLang2.0" # spec.screenshots = "www.example.com/screenshots_1.gif", "www.example.com/screenshots_2.gif" spec.license = { :type => "MIT", :file => "FILE_LICENSE" } spec.author = { "wugemu" => "245868553@qq.com" } spec.platform = :ios, "8.0" spec.source = { :git => "http://192.168.11.244:10080/langlinseng/iOSNyso.git", :tag => "#{spec.version}" } spec.source_files = "BaseDemo/BaseDemo/BaseArchitectureB/*.{h,m}", "BaseDemo/BaseDemo/BaseArchitectureB/BaseCompnent/*.{h,m}", "BaseDemo/BaseDemo/BaseArchitectureB/BaseNetwork/*.{h,m}", "BaseDemo/BaseDemo/BaseArchitectureB/BaseStructure/*.{h,m}" # spec.resource = "icon.png" # spec.resources = "iOSLangTest/IosLangTest/ioslang/res/*.png" spec.dependency "AFNetworking", "~> 3.0" # spec.prefix_header_file = 'iOSLangTest/IosLangTest/***.pch' end spec.version(版本号) spec.author(账号) spec.platform(iOS项目支持的最低系统) spec.source_files(代码资源文件路径,路径指向要打包的组件代码) spec.resources(资源文件路径,路径指向要打包的组件资源) spec.dependency(本组件所依赖的pod库) spec.prefix_header_file(.pch预编译文件) (查看更多podspec文件相关配置)[https://www.jianshu.com/p/75e19c92df50] 验证 podspec 文件 ,--allow-warnings 忽略警告 pod lib lint iOSNyso.podspec --allow-warnings 给项目打上 tag 版本号并推送到 GitHub,注:tag版本号与.podspec 文件中的spec.version保持一致 git tag "1.0.0" git push --tags 把 Podspec 文件推送到私有Cocoapods 库 ,--allow-warnings 忽略警告 #在本地添加私有cocoapods自定义仓库 #1.进入本地仓库目录 cd ~/.cocoapods/repos/ #2.添加自定义仓库myrepo myrepo为本地仓库名,后面地址为私服的podspec仓库地址 #使用以下命令或pod repo add myrepo git@192.168.11.244:10080/langlinseng/NysoPodspec.git pod repo add myrepo http://192.168.11.244:10080/langlinseng/NysoPodspec.git #提交podspec文件至本地cocoapods和私服podspec.git pod repo push myrepo ~/Desktop/iOSNyso/iOSNyso.podspec --allow-warnings BaseDemo项目是CocoaPods维护iOSLang库项目 iOSNysoUseDemo项目中使用pod引入iOSNyso库 #引入私服的spec库地址 source 'http://192.168.11.244:10080/langlinseng/NysoPodspec.git' #CocoaPods库地址 source 'https://github.com/CocoaPods/Specs.git' target 'iOSNysoUseDemo' do #引入基础库(架构+附属功能) pod 'NYSOBaseLib' #只引入附属功能 #pod 'NYSOBaseLib/BaseAttachment' end # CrashManager(防崩溃) 设置需要放置崩溃的类型(这里以NSNull和NSString为例) [[CrashManager shareInstance] setSelClassStrings:@[ @"NSNull", @"NSString" ]]; 崩溃触发回调 [[CrashManager shareInstance] setCrashMessageBlock:^(NSDictionary * _Nonnull crashInfo) { //crash信息上报 }]; # StatisticalManager(错误上报) 设置appId,需要在app初始化时设置 [[StatisticalManager shareInstance] startConfigAppId:@"yourAPPID"]; 设置用户标识 [[StatisticalManager shareInstance] setUser:@"userID"]; 上报自定义异常、自定义信息 [[StatisticalManager shareInstance] reportException:[[NSException alloc] init] withUserInfo:@{}]; 上报NSError、自定义信息 NSError *error; [[StatisticalManager shareInstance] reportError:error withUserInfo:@{} andErrorInfo:@""]; # DebugManager(调试) 环境模型 环境名称 NSString *environmentName; 网络请求主机地址 NSString *webHost; H5请求主机地址 NSString *H5Host; 其它自定义类型 id customInfo; 初始化环境(任意位置,但是要在第一次请求发起前进行设置) @param releaseModel 生产环境模型 @param debugModels 测试环境模型数组 - (void)setupRelease:(DebugModel *)releaseModel debug:(NSArray *)debugModels; 设置环境改变前后执行的代码(可选) [[DebugManager shareManager] initialize:^{ //这里设置切换后的初始化代码,比如初始化第三方库,设置全局变量等等 } changeBlock:^{ //这里设置切换环境前的清理代码,你可能需要清理一些跟环境相关的本地信息,比如储存在本地的个人信息 }]; 调出切换环境列表(需要在基类的摇一摇方法中调用) [[DebugManager shareManager] changeEnvironment]; 获取当前环境的主机地址 [[DebugManager shareManager] webHost]; [[DebugManager shareManager] H5Host];