2018-08-29 16:04:08 zramals 阅读数 479
  • Kubernetes 实战系列

    Kubernetes(KS8) 实战系列教程,该课程将对Kubernetes的Node、Pod、Replication Controller、Service等基本核心概念进行讲解,这些组件共同构成了Kubernetes的系统框架和计算模型。通过对它们进行灵活的组合,用户就可以快速、方便地对容器集群进行配置、创建和管理。

    9532 人正在学习 去看看 CSDN讲师

首先,上自己创建的公有pod库:
pod 'pod4ReactNative','~>0.55.4'
包的是RN 0.55.4版本的,iOS可以直接引用该pod库做开发,不再需要使用npm引入RN。

git库:https://github.com/zramals/pod4ReactNative

一、什么情况下使用pod库引入RN

我们知道,官方的RN接入,虽然也是通过pod引入,但是他实际是通过npm下载,pod读取本地spec的方式加载RN库,走的是一种development的环境。

这种方式比较好的使安卓和iOS共用一个版本的RN,他们虽然引用方式不同,但是都读取同一份npm下载的RN,所以基于这种安卓和iOS共同开发的情况,官方的方式可以说非常合适。

但是如果我们与安卓不共同开发,并且技术力量有限,能少一个npm环境就少一个npm环境的情况下(要知道,很多公司放弃RN的主要原因是因为技术力量不足,精通js与原生开发的人实在有限),单一pod引入就显得有必要了。

二、该方式有什么缺点

该方式之所以官方没有给出,我认为有如下原因:

  • 需要管理安卓和iOS两套库
  • iOS部分pod lint有问题

基于此,省去官方解决两个大问题,总之,我就提供一个npm版本,怎么引入看开发者,另外pod lint不过,我也可以不解决了,一举两得!(其实官方一开始也是想包成pod库的,现在pod search react 还可以看到已经废弃的最高0.13.0-rc版本的RN)

那么,这两大原因,也就是该方式的缺点了:

  • pod仅仅维护了iOS一套版本,安卓部分需要安卓自行解决,想要同版本使用RN将花费非常大的精力。而相当多的情况,是安卓和iOS跨平台共同开发才使用RN,这样将反其道而行。
  • pod lint不过,也就是正常的方式是不能成pod库的,而市面上的RN pod库无一例外,均采用跳过lint的方式打成正式版本,自然lint不过也就代表着可能会有一些risk。

三、pod4ReactNative

https://github.com/zramals/pod4ReactNative
1. 首先,我将RN 0.55.4版本从官网上下载下来,放到rn-source里面,这样以后要是更新版本,我直接改变rn-source里面的文件即可。
2. 之后我需要创建一份spec,镜像copy官方的spec写法。
3. 然后,修改源文件的引用路径等,然后本地调试,build通过即可(说得简单,做起来那叫一个坑。。。)。
4. 修改cocoapods的ruby代码,修改lint部分,使push得时候可以跳过lint。
5. 最后生成正式库
6. 过个demo试验一下,效果完美。

大功告成!(其中心酸几人知~)

四、总结

pod4ReactNative使用还是需要根据情况,在需要使用的情况下去使用。

如果仅iOS想使用RN,并且对npm环境很迷,只想简单粗暴的使用RN,那么pod4ReactNative将是你的不二选择。

PS:pod4ReactNative已经将如下十分必要的的subspec加入到默认里面去了,所以不再需要显式的指定,
‘yoga’,
‘Core’,
‘CxxBridge’,
‘DevSupport’,
‘RCTWebSocket’,
‘RCTText’,
‘RCTAnimation’,
‘RCTImage’
通常pod 'pod4ReactNative','~>0.55.4'即可

引用:

https://www.jianshu.com/p/88180b4d2ab7
https://github.com/wuqiuhao/AwsomeReactNative
https://github.com/CodingForMoney/react-native

2018-08-23 10:13:46 sunqiujing 阅读数 1007
  • Kubernetes 实战系列

    Kubernetes(KS8) 实战系列教程,该课程将对Kubernetes的Node、Pod、Replication Controller、Service等基本核心概念进行讲解,这些组件共同构成了Kubernetes的系统框架和计算模型。通过对它们进行灵活的组合,用户就可以快速、方便地对容器集群进行配置、创建和管理。

    9532 人正在学习 去看看 CSDN讲师

今天新建立项目加入pod,执行pod init报错,错误如下

 

 

[!] Oh no, an error occurred.

 

Search for existing GitHub issues similar to yours:

https://github.com/CocoaPods/CocoaPods/search?q=%5BXcodeproj%5D+Unknown+object+version.&type=Issues

 

If none exists, create a ticket, with the template displayed above, on:

https://github.com/CocoaPods/CocoaPods/issues/new

 

Be sure to first read the contributing guide for details on how to properly submit a ticket:

https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md

 

Don't forget to anonymize any private data!

 

Looking for related issues on cocoapods/cocoapods...

- Pod Update: RuntimeError - [Xcodeproj] Unknown object version. Xcode Beta 5

   https://github.com/CocoaPods/CocoaPods/issues/8003 [closed] [17 comments]

   3 days ago

 

- RuntimeError - [Xcodeproj] Unknown object version.

   https://github.com/CocoaPods/CocoaPods/issues/7697 [closed] [28 comments]

   3 weeks ago

 

- Pod init. Unknown object version

   https://github.com/CocoaPods/CocoaPods/issues/7907 [closed] [2 comments]

   03 Jul 2018

 

and 42 more at:

https://github.com/cocoapods/cocoapods/search?q=[Xcodeproj]%20Unknown%20object%20version.&type=Issues&utf8=✓

MacBook-Pro-2:swift_grammer_one sunqiujing$ pod repo remove master

 

 

 

Removing spec repo `master`

 

 

^Z

[3]+  Stopped                 pod repo remove master

 

 

 

这是因为升级了macOS 的系统,导致cocoapods不能使用.
当你的Mac系统升级为 high sierra 的时候,别忘记更新cocoapods.

执行命令为:

$ sudo gem update --system
$ sudo gem install cocoapods -n/usr/local/bin

以上基本问题可以解决了.

再次更新,会出现下面界面,说明成功:

参考指令

1、更新gem:sudo gem update --system

2、删除gem源:gem sources --remove [https://ruby.taobao.org/](https://ruby.taobao.org/)

3、修改gem源:gem sources -a [https://gems.ruby-china.org](https://gems.ruby-china.org/)

4、查看gem源是否是最新的:gem sources -l

5、升级cocoapods:sudo gem install -n/usr/local/bin cocoapods --pre

6、查看升级后的cocoapods版本:pod --version



 

2018-11-26 15:51:23 overstep1024 阅读数 165
  • Kubernetes 实战系列

    Kubernetes(KS8) 实战系列教程,该课程将对Kubernetes的Node、Pod、Replication Controller、Service等基本核心概念进行讲解,这些组件共同构成了Kubernetes的系统框架和计算模型。通过对它们进行灵活的组合,用户就可以快速、方便地对容器集群进行配置、创建和管理。

    9532 人正在学习 去看看 CSDN讲师

错误描述:

pod lib lint 验证通过,pod spec lint 验证报错:- ERROR | [iOS] file patterns: The `source_files` pattern did not match any file.

错误重现:

仓库目录结构:

 podspec文件位于项目根目录下。

podspec中关于源码的描述:

s.source_files  = "MWBase/BaseModule/**/*.{h,m}"

错误分析:

s.source_files中描述的为相对路径,但在pod lib lint 与 pod spec lint 时,所用的参照不一样。pod lib lint 时,以podspec文件所在位置为参照;pod spec lint 时,以Git仓库的根目录为参照。

所以,在pod lib lint 时,该s.source_files的描述为源码相对于podspec文件的相对路径,该描述正确;在pod spec lint 时,该s.source_files的描述应为源码相对于Git根目录的相对路径,该描述错误,所以报错。

修复方案:

1、不同的验证方案,使用不同的s.source_files 描述。

pod lib lint 时:

s.source_files  = "MWBase/BaseModule/**/*.{h,m}"

pod spec lint 时:

s.source_files  = "MWBase/MWBase/BaseModule/**/*.{h,m}"

2、推荐方案:移动podspec文件至Git根目录下,并修改内容:

s.source_files  = "MWBase/MWBase/BaseModule/**/*.{h,m}"
2016-07-18 17:41:25 qq_28865297 阅读数 669
  • Kubernetes 实战系列

    Kubernetes(KS8) 实战系列教程,该课程将对Kubernetes的Node、Pod、Replication Controller、Service等基本核心概念进行讲解,这些组件共同构成了Kubernetes的系统框架和计算模型。通过对它们进行灵活的组合,用户就可以快速、方便地对容器集群进行配置、创建和管理。

    9532 人正在学习 去看看 CSDN讲师


cocosapods  pod install  报错


Analyzing dependencies

[!] Unable to satisfy the following requirements:

- `SDWebImage (~> 3.8)` required by `Podfile`

None of your spec sources contain a spec satisfying the dependency: `SDWebImage (~> 3.8)`.

You have either:
 * out-of-date source repos which you can update with `pod repo update`.
 * mistyped the name or version.
 * not added the source repo that hosts the Podspec to your Podfile.

Note: as of CocoaPods 1.0, `pod repo update` does not happen on `pod install` by default.



当前cocopods版本较低,无法获取最新的第三方库,尝试更新cocoapods 然后重试,


更新cocoapods  , pod setup

2019-07-10 13:53:35 a794561799 阅读数 180
  • Kubernetes 实战系列

    Kubernetes(KS8) 实战系列教程,该课程将对Kubernetes的Node、Pod、Replication Controller、Service等基本核心概念进行讲解,这些组件共同构成了Kubernetes的系统框架和计算模型。通过对它们进行灵活的组合,用户就可以快速、方便地对容器集群进行配置、创建和管理。

    9532 人正在学习 去看看 CSDN讲师

第一次安装环境创建工程 pod install 出现 glog 脚本报错.
执行 sudo xcode-select --switch /Applications/Xcode.app 即可

Mac pod install 报错

阅读数 108

没有更多推荐了,返回首页