Ios之CocoaPods

使用 pod cache list 查看看缓存

使用 pod cache clean --all 清除缓存

 

我们使用较多的是pod install,pod update,pod setuppod search命令。

  • pod install:会根据podfile.lock文件中指定的pod依赖库的版本去拉去项目的pod依赖库。在首次执行pod install命令时,如果不存在podfile.lock文件会生成,podfile.lock文件,并且同时生成xcworkspace文件和pods文件夹。 切换到工程目录执行:
    > pod install
    Analyzing dependencies
    Pre-downloading: AfantySDK from
  • pod update:这个命令会检查podfile.lock文件中的pod依赖库的版本,并进行更新,会重新生成一个podfile.lock文件。
  • pod setup:用来初始化cocoapod的环境,在我们刚安装完cocoapod时,我们可以使用pod setup命令来初始化pod的运行环境,具体实现:是通过在~/.cocoapods/repos下创建一个目录,该目录是通过clonehttps://github.com/CocoaPods/Specs`的public master分之得到的pod仓库,在一些企业开发中,经常会有自己的pod仓库,只需将这些仓库使用一下方式添加到该目录下即可:

    pod repo add NAME URL[branch]
    使用自己的pod仓库,会有更快的pod依赖库的操作速度。

  • pod search:该命令用来搜索可以使用的pod依赖库,搜索结果中会向我们展示怎么在pod中使用该依赖库。

其他还有一些使用较少的pod命令可以作为了解:

  • pod list:列出所有项目依赖仓库中的pod依赖库。
  • pod repo:用来管理pod依赖仓库的地址。
  • pod spec:管理pod规范。
  • pod init:在当前目录下创建一个podfile文件,我们可以通过将需要的pod依赖库添加到podfile文件中,实现在项目中添加依赖。
  • pod env:来打印出pod的环境,一般是podfile文件中的内容。
  • pod cache:管理cocoapod的缓存:可以用来清空内存,也可以用来查看每个pod库的缓存。
  • pod outdate:展示出可更新版本的pod依赖库。

参考文档

ios开发中pod命令介绍

Android onActivityResult

主要功能:

在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,或许还同时返回一些子模块完成的数据交给主Activity处理。这样的数据交流就要用到回调函数onActivityResult。

<1>startActivityForResult(Intent intent, int requestCode);

第一个参数:一个Intent对象

第二个参数:如果> = 0,当Activity结束时requestCode将归还在onActivityResult()中。以便确定返回的数据是从哪个Activity中返回

<2>onActivityResult(int requestCode, int resultCode, Intent data)

第一个参数:这个整数requestCode提供给onActivityResult,是以便确认返回的数据是从哪个Activity返回的。

            这个requestCode和startActivityForResult中的requestCode相对应。

第二个参数:这整数resultCode是由子Activity通过其setResult()方法返回。


第三个参数:一个Intent对象,带有返回的数据。

<3>setResult(int resultCode, Intent data)

调用这个方法把Activity想要返回的数据返回到父Activity

第一个参数:当Activity结束时resultCode将归还在onActivityResult()中,一般为RESULT_CANCELED , RESULT_OK。

第二个参数:一个Intent对象,返回给父Activity的数据。

Android Studio 问题汇总

1.Configuration ‘compile’ is obsolete and has been replaced with ‘implementation’. It will be removed

compile会被在2018年底取消,会被api替代,所以会报这个警告,解决警告的方式就是换成api就好了。

2.no executable code found at line

I had similar problems and various attempts has been applied. Below is my usual steps:

  1. If you are using Maven dependencies, go to Maven Projects -> refresh
  2. If that does not work, Try top menu –> Build –> Rebuild Project
  3. If that still doesn’t work, try top menu –> File –> Invalidate Cache/Restart
  4. If that still doesn’t work, then $CATALINA_BASE/bin/catalina.sh stop, then start

After this, usually it covers 99% of the problems. Otherwise, Probably you will have to examine some other possibilities.

2和3两个步骤可以解决问题,若不行再尝试全部步骤

3. Failed to find byte code for android/view/View$OnScrollChangeListener

Android Studio 3.1 “Failed to find byte code for * “问题导致Instant Run失败问题解决

com.android.dex.DexIndexOverflowException

配置方法数超过 64K 的应用

 

4.Execution failed for task ‘:app:processDebugManifest’.

Gradle: Execution failed for task ‘:processDebugManifest’

 

 

如果在整个工程中生效,则在module的 build.gradle中增加如下配置:

 

 

参考链接

Warning:Configuration ‘compile’ is obsolete and has been replaced with ‘implementation’. It will be

Android studio No executable code found 断点不可用

Android Studio 3.1 “Failed to find byte code for * “问题导致Instant Run失败问题解决

Error:java.lang.OutOfMemoryError: GC overhead limit exceeded

Android – transform Classes With Dex For Debug