美文网首页
一些第三方框架

一些第三方框架

作者: 夜雨聲煩_ | 来源:发表于2017-05-03 11:14 被阅读0次

导入

方法一

使用终端命令执行

  1. 执行过不用重新执行sudo gem install -n /usr/local/bin cocoapods
  2. pod init
  3. touch Podfile
  4. 内容格式如下
platform :ios, '7.0'
target 'project name' do
pod 'CocoaLumberjack' , '~> 2.0'
end
  1. pod install
方法二

在xcode对应工程中直接创建
new file 创建 empty文件 名称为Podfile
内容格式如上

platform :ios, '7.0'
target 'project name' do
pod 'CocoaLumberjack' , '~> 2.0'
end

使用cd并拖入Podfile获取路径 之后删除Podfile进入目录
然后使用pod install

语法
  • > 0.1 高于0.1版本(不包含0.1版本)的任意一个版本
  • >= 0.1 高于0.1版本(包含0.1版本)的任意一个版本
  • < 0.1 低于0.1版本(不包含0.1版本)的任意一个
  • <= 0.1低于0.1版本(包含0.1版本)的任意一个
  • ~> 0.1.2 版本 0.1.2的版本到0.2 ,不包括0.2。这个基于你指定的版本号的最后一个部分。这个例子等效于>= 0.1.2并且 <0.2.0,并且始终是你指定范围内的最新版本。
注意
  1. 用cocoapods 导入swift 框架到swift项目和OC项目都必须要 use_frameworks!
  2. 用动态库,必须要在Podfile文件中添加 use_frameworks!

具体库

1.Aspects

aspect oriented programming 面向切面编程
不同于面向对象的封装思想,针对不同封装对象于某一切面进行统一操作
Aspects 用于支持AOP(面向切面编程)模式,用于部分解决OOP(面向对象)模式无法解决的特定问题.具体指的是那些在多个方法有交叉,无法或很难被有效归类的操作,比如:
不论何时用户通过客户端获取服务器端数据,权限检查总是必须的.
不论何时用户和市场交互,总应该更具用户的操作提供相应地购买参考或相关商品.
所有需要日志记录的操作.

// 为一个指定的类的某个方法执行前/替换/后(options),添加一段代码块.对这个类的所有对象都会起作用.
//
// @param block  方法被添加钩子时,Aspectes会拷贝方法的签名信息.
// 第一个参数将会是 `id<AspectInfo>`,余下的参数是此被调用的方法的参数.
// 这些参数是可选的,并将被用于传递给block代码块对应位置的参数.
// 你甚至使用一个没有任何参数或只有一个`id<AspectInfo>`参数的block代码块.
//
// @注意 不支持给静态方法添加钩子.
// @return 返回一个唯一值,用于取消此钩子.
+ (id<AspectToken>)aspect_hookSelector:(SEL)selector
                      withOptions:(AspectOptions)options
                       usingBlock:(id)block
                            error:(NSError **)error;

使用如下:

   /*!
     *    @brief 应用加载前进行hook设置
     *
     */
    [AppDelegate aspect_hookSelector:@selector(application:didFinishLaunchingWithOptions:)
                         withOptions:AspectPositionAfter
                          usingBlock:^{
                            [HWAnalytics setupUMMobclick];
                            [HWAnalytics setUpAnalytics];
                          }
                               error:NULL];

    /*!
     *    @brief 页面访问时长hook
     *
     */
    [UIViewController aspect_hookSelector:@selector(viewDidAppear:)
                              withOptions:AspectPositionAfter
                               usingBlock:^(id<AspectInfo> aspectInfo, BOOL animated) {
                                 [HWAnalytics pageBeginHook:aspectInfo.instance];
                               }
                                    error:NULL];
    [UIViewController aspect_hookSelector:@selector(viewDidDisappear:)
                              withOptions:AspectPositionAfter
                               usingBlock:^(id<AspectInfo> aspectInfo, BOOL animated) {
                                 [HWAnalytics pageEndHook:aspectInfo.instance];
                               }
                                    error:NULL];
}

CocoaLumberjack

DDLog类,用于打印和日志收集。

相关文章

网友评论

      本文标题:一些第三方框架

      本文链接:https://www.haomeiwen.com/subject/pbektxtx.html