jjzjj

iOS-创建私有库遇到的问题&创建code Repository库遇到的问题

malgee 2023-10-07 原文
1. 创建私有库,将 NetworkStatus.podspec 配置文件push到私有库 遇到问题
$ pod repo push Specs NetworkStatus.podspec 

报错了 [!] Couldn't find NetworkStatus.podspec

解决方法: 在创建自己的 code Repository的时候最后一步操作不需要执行 pod trunk push NetworkStatus.podspec 操作, 在上一步的位置操作(指的是在创建code repository的文件目录下面操作)

2. - ERROR | [iOS] unknown: Encountered an unknown error (XXXXXX) during validation.
[!] The NetworkStatus.podspec specification does not validate.

解决:版本标签需要推送到远程 git push --tags

3.

-> AWNetworkStatus (0.0.1)
- WARN | source: Git SSH URLs will NOT work for people behind firewalls configured to only allow HTTP, therefore HTTPS is preferred.
- WARN | url: There was a problem validating the URL git@xxxx.com:maling/AWNetworkStatus.

解决:不能使用git开头的地址,需要使用http 或者 https 开头的地址

4. - ERROR | [iOS] file patterns: The source_files pattern did not match any file.

这个问题解决过程甚是头疼, 网上查找的都是说的文件路径不对, 都没给出解决方案,解决过程也是老费劲了,解决方案:
/Users/Library/Caches/CocoaPods/Pods/External/xxxxxx/6caecc3e367ba2e8852334d3c51e1214-f25d4

xxxxxx就是你要发布的pod库文件
在这个路径下你会发现没有xxxxxx代码文件,你可以直接拷贝一份放到/Users/Library/Caches/CocoaPods/Pods/External/xxxxxx/6caecc3e367ba2e8852334d3c51e1214-f25d4下面,这个里面会有 xxxxxx文件,LICENSE, README.md 三个文件,这个时候才是应该有的内容。

5. - ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code. You can use --verbose for more information.

解决方案: 我导入的系统库有冲突造成的,删除导入的系统库就好了

(遇到这个问题上网查找解决方案的时候发现,遇到的问题一样,解决方案各不相同,猜测这个问题是各种不明确的问题都会报这个错误,有可能这个解决方案不适合你,就需要你自己多看别人的解决方案是不是和你的一样,自己多尝试,反正我是通过删除引用的系统库这个问题就消失了)

6. - ERROR | [iOS] file patterns: The resources pattern did not match any file.

遇到这个问题说明资源文件路径不对,经过检查发现自己马虎路径写错了将Classes/MGKit.bundle路径写成了Class/MGKit.bundle,造成的错误。
解决方案: 仔细检查podsepc路径是不是和你实际文件的路径一致。

7. ERROR | [iOS] unknown: Encountered an unknown error (Unable to find a specification for AWReachability depended upon by AWAdsLib) during validation.

解决方案:AWReachability 为私有库,不能创建库的时候依赖私有库,添加参数

--sources='https://github.com/CocoaPods/Specs.git, https://github.com/xxxx/xxSpecs.git
8. - ERROR | [AWAdsLib/Banner, AWAdsLib/Interstitial, AWAdsLib/Native, and more...] xcodebuild: Returned an unsuccessful exit code.
  • NOTE | [iOS] [AWAdsLib/Native] xcodebuild: /Users/maling/Desktop/AWAdsLib/AWAdsLib/Native/WMD/AWAdWMDNativeAd.m:12:9: fatal error: 'WMAdSDK/WMAdSDKManager.h' file not found

解决方案: 文件引入问题,需要给AWAdWMDNativeAd引入需要的文件路径

9. - NOTE | [AWAdsLib/Interstitial,AWAdsLib/Native] xcodebuild: clang: error: linker command failed with exit code 1 (use -v to see invocation)

解决方案: 静态库引入问题,在需要使用静态库的地方引入静态库

10.上传私有库完成后 添加类文件,上传成功pod下载下来的数据没有

pod lib lint --verbose --use-libraries --allow-warnings --no-clean
git add .
git commit -m "commit2"
git push origin master
pod repo push AWSpecs AWAdsLib.podspec --verbose --use-libraries --allow-warnings
解决方案: 重新打了一个tag标签 验证通过,提交成功, 下载成功

11. - ERROR | [AWAdsLib/Native] xcodebuild: Returned an unsuccessful exit code.
  • NOTE | [AWAdsLib/Native] xcodebuild: error: invalid task ('StripNIB /Users/maling/Library/Developer/Xcode/DerivedData/App-fyjwbdljqyusxfdkoqquzzllyqoi/Build/Products/Release-iphonesimulator/AWAdsLib/AWGADUnifiedNativeAdView.nib') with mutable output but no other virtual output node (in target 'AWAdsLib')

解决方案:因为xib和图片等属于资源文件,不能放在源文件中(Classes),需要放在Assets中,如果都放在classes中,在验证的时候会遇到这个问题:)

12.[!] Found multiple specifications for AWReachability (0.0.1):

[!] Found multiple specifications for AWReachability (0.0.1):
/Users/maling/.cocoapods/repos/master/Specs/7/0/b/AWReachability/0.0.1/AWReachability.podspec.json
/Users/maling/.cocoapods/repos/AWSpecs/AWReachability/0.0.1/AWReachability.podspec

  • 原因:将私有仓库拉到本地时可能会存在两个。

  • 解释:因为 git 存在两个地址,分别是 git@ 和 http/https,所以有时候可能会在本地 repos 下出现两个基于同一个 git 的仓库,仓库名字不同。因为一开始 lint 的时候是指定了仓库名的,所以能通过,但 pod repo push 的时候虽然指定了 push 的仓库名,但因为没有指定校验的仓库名,一旦你的 pod 依赖了私有仓库中的某个 pod,校验时会出现类似 [!] Found multiple specifications xxxxLibrary 的错误。此时需要删除掉一个私有仓库,然后重新 push 才行。

  • 备注:这里需要明白 pod spec lint 的时候,可以配置 --sources。而 pod repo push 的时候,是直接使用的本地仓库名。有可能 --sources 指定的是 http/https ,而本地 repo 仓库是使用的 git@ 拉取的。

pod spec lint --verbose --use-libraries --allow-warnings --sources='私有仓库repo地址,https://github.com/CocoaPods/Specs'

pod repo push MCRepo MCAppKit.podspec --verbose --use-libraries --allow-warnings

该解决方案来自这里地址

13 - ERROR | [iOS] unknown: Encountered an unknown error (/usr/bin/xcrun simctl list -j devices

xcrun: error: active developer path ("/Applications/Xcode11.1.app/Contents/Developer") does not exist
Use sudo xcode-select --switch path/to/Xcode.app to specify the Xcode that you wish to use for command line developer tools, or use xcode-select --install to install the standalone command line developer tools.
See man xcode-select for more details.

解决方案:Command Line Tools 没有选择,勾选上
image.png

14. 执行pod repo push UCSpecs 'UCAAChartKit.podspec' --allow-warnings报错信息 如下:

[!] /usr/bin/git -C /Users/xxxx/.cocoapods/repos/UCSpecs pull

Your configuration specifies to merge with the ref 'refs/heads/master'
from the remote, but no such ref was fetched.

报错原因是: UCSpecs仓库没有内容, 需要上传内容,
解决方案: 上传了一个 readme.md文件 就可以了, 其他文件也可以.

15. 执行 pod lib lint或者pod spec lint报错 include of non-modular header inside framework module

解决方案1:
在.podspec文件中添加

s.user_target_xcconfig = { 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES' }

解决方案 2: 执行的时候加上参数 --use-libraries

pod lib lint --verbose --allow-warnings --use-libraries 
或者
pod spec lint --verbose --allow-warnings --use-libraries 

如果之前在pod spec lint时使用了--allow-warnings或--use-libraries,这里在pod trunk push也需要添加

查看具体错误 搜索BUILD FAILED 能看到具体的错误

有关iOS-创建私有库遇到的问题&创建code Repository库遇到的问题的更多相关文章

  1. ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有(private)/ protected 方法? - 2

    类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc

  2. ruby - 如何在 Ruby 中顺序创建 PI - 2

    出于纯粹的兴趣,我很好奇如何按顺序创建PI,而不是在过程结果之后生成数字,而是让数字在过程本身生成时显示。如果是这种情况,那么数字可以自行产生,我可以对以前看到的数字实现垃圾收集,从而创建一个无限系列。结果只是在Pi系列之后每秒生成一个数字。这是我通过互联网筛选的结果:这是流行的计算机友好算法,类机器算法:defarccot(x,unity)xpow=unity/xn=1sign=1sum=0loopdoterm=xpow/nbreakifterm==0sum+=sign*(xpow/n)xpow/=x*xn+=2sign=-signendsumenddefcalc_pi(digits

  3. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  4. ruby - 具有身份验证的私有(private) Ruby Gem 服务器 - 2

    我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..

  5. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  6. ruby - 通过 rvm 升级 ruby​​gems 的问题 - 2

    尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub

  7. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  8. ruby-on-rails - 无法使用 Rails 3.2 创建插件? - 2

    我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby​​1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在

  9. ruby - 如何使用 RSpec::Core::RakeTask 创建 RSpec Rake 任务? - 2

    如何使用RSpec::Core::RakeTask初始化RSpecRake任务?require'rspec/core/rake_task'RSpec::Core::RakeTask.newdo|t|#whatdoIputinhere?endInitialize函数记录在http://rubydoc.info/github/rspec/rspec-core/RSpec/Core/RakeTask#initialize-instance_method没有很好的记录;它只是说:-(RakeTask)initialize(*args,&task_block)AnewinstanceofRake

  10. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

随机推荐