亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

iOS在CocoaTouchStaticLibrary使用CocoaPods

2019-11-14 17:53:01
字體:
來源:轉載
供稿:網友

1、在XCode中新建靜態庫工程:DDLogLib。

2、添加對外暴露接口的頭文件DDLogLibHeader.h

3、命令行進入DDLogLib目錄,運行pod init,并修改Podfile

 

4、運行pod install,并打開DDLogLib.xcworkspace。

5、運行pod spec create DDLogLib,創建DDLogLib.podspec文件,并編輯。

#  Be sure to run `pod spec lint DDLogLib.podspec' to ensure this is a

#  valid spec and to remove all comments including this before submitting the spec.

#

#  To learn more about Podspec attributes see http://docs.cocoapods.org/specification.html

#  To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/

#

 

Pod::Spec.new do |s|

 

  # ―――  Spec Metadata  ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

  #

  #  These will help people to find your library, and whilst it

  #  can feel like a chore to fill in it's definitely to your advantage. The

  #  summary should be tweet-length, and the description more in depth.

  #

 

  s.name         = "DDLogLib"

  s.version      = "0.0.1"

  s.summary      = "A short description of DDLogLib."

 

  s.description  = <<-DESC

                   A longer description of DDLogLib in Markdown format.

 

                   * Think: Why did you write this? What is the focus? What does it do?

                   * CocoaPods will be using this to generate tags, and imPRove search results.

                   * Try to keep it short, snappy and to the point.

                   * Finally, don't worry about the indent, CocoaPods strips it!

                   DESC

 

  s.homepage     = "http://EXAMPLE/DDLogLib"

  # s.screenshots  = "www.example.com/screenshots_1.gif", "www.example.com/screenshots_2.gif"

 

 

  # ―――  Spec License  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

  #

  #  Licensing your code is important. See http://choosealicense.com for more info.

  #  CocoaPods will detect a license file if there is a named LICENSE*

  #  Popular ones are 'MIT', 'BSD' and 'Apache License, Version 2.0'.

  #

 

  s.license      = "MIT (example)"

  # s.license      = { :type => "MIT", :file => "FILE_LICENSE" }

 

 

  # ――― Author Metadata  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

  #

  #  Specify the authors of the library, with email addresses. Email addresses

  #  of the authors are extracted from the SCM log. E.g. $ git log. CocoaPods also

  #  accepts just a name if you'd rather not provide an email address.

  #

  #  Specify a social_media_url where others can refer to, for example a twitter

  #  profile URL.

  #

 

  s.author             = { "hu5675" => "hu5675@126.com" }

# Or just: s.author    = "hu5675"

  # s.authors            = { "hu5675" => "hu5675@126.com" }

  # s.social_media_url   = "http://twitter.com/hu5675"

 

  # ――― Platform Specifics ――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

  #

  #  If this Pod runs only on iOS or OS X, then specify the platform and

  #  the deployment target. You can optionally include the target after the platform.

  #

 

  # s.platform     = :ios

  # s.platform     = :ios, "5.0"

 

  #  When using multiple platforms

  # s.ios.deployment_target = "5.0"

  # s.osx.deployment_target = "10.7"

  # s.watchos.deployment_target = "2.0"

 

 

  # ――― Source Location ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

  #

  #  Specify the location from where the source should be retrieved.

  #  Supports git, hg, bzr, svn and HTTP.

  #

 

  s.source       = { :git => "http://EXAMPLE/DDLogLib.git", :tag => "0.0.1" }

 

 

  # ――― Source Code ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

  #

  #  CocoaPods is smart about how it includes source code. For source files

  #  giving a folder will include any swift, h, m, mm, c & cpp files.

  #  For header files it will include any header in the folder.

  #  Not including the public_header_files will make all headers public.

  #

 

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

  s.exclude_files = "DDLogLib/Exclude"

 

  s.public_header_files = "DDLogLib/**/*.h"

 

 

  # ――― Resources ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

#

  #  A list of resources included with the Pod. These are copied into the

  #  target bundle with a build phase script. Anything else will be cleaned.

  #  You can preserve files from being cleaned, please don't preserve

  #  non-essential files like tests, examples and documentation.

  #

 

  # s.resource  = "icon.png"

  s.resources = "DDLogLib/Resources/*.png"

 

  # s.preserve_paths = "FilesToSave", "MoreFilesToSave"

 

 

  # ――― Project Linking ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

  #

  #  Link your library with frameworks, or libraries. Libraries do not include

  #  the lib prefix of their name.

  #

 

 s.framework  = "SystemConfiguration"

  # s.frameworks = "SomeFramework", "AnotherFramework"

 

  # s.library   = "iconv"

  # s.libraries = "iconv", "xml2"

 

 

  # ――― Project Settings ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

  #

  #  If your library depends on compiler flags you can set them in the xcconfig hash

  #  where they will only apply to your library. If you depend on other Podspecs

  #  you can include multiple dependencies to ensure it works.

 

  # s.requires_arc = true

 

  # s.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" }

  s.dependency "CocoaLumberjack"

  #s.dependency "other lib"

6、新建工程DDLogLibAPP,與DDLogLib保持在同一目錄,命令行進入DDLogLibAPP,運行pod init,并編輯。

# Uncomment this line to define a global platform for your project

# platform :ios, '6.0'

 

target 'DDLogLibAPP' do

 

pod 'DDLogLib', :path => '../DDLogLib'

 

end

 

target 'DDLogLibA

 

end

 

target 'DDLogLibAPPUITests' do

 

end

 7、運行pod install,并打開DDLogLibAPP.xcworkspace編譯。

8、在DDLogLib實現printABC方法。

DDLogLib.m

#import "DDLogLib.h"

 

#import "DDLog.h"

#import "DDFileLogger.h"

#import "DDTTYLogger.h"

 

static int ddLogLevel = LOG_LEVEL_INFO;

 

@implementation DDLogLib

 

- (void)printABC{

NSLog(@"ABC");

 

DDLogFileManagerDefault *logFileManager = [[DDLogFileManagerDefault alloc] init];

DDFileLogger* _fileLogger = [[DDFileLogger alloc] initWithLogFileManager:logFileManager];

_fileLogger.rollingFrequency = 60 * 60 * 24; // 24 hour rolling

_fileLogger.logFileManager.maximumNumberOfLogFiles = 7; // a weeks worth

 

//#ifdef DEBUG

[DDLog addLogger:[DDTTYLogger sharedInstance]];// this is log to xcode window.

//#else

[DDLog addLogger:_fileLogger];

//#endif

 

DDLogInfo(@"DDLog ABC");

}

 

@end

DDLogLib.h

#import <Foundation/Foundation.h>

 

@interface DDLogLib : NSObject

 

- (void)printABC;

 

@end

9、在DDLogLibAPP中調用。

#import "AppDelegate.h"

#import <DDLogLib/DDLogLib.h>

 

@interface AppDelegate ()

 

@end

 

@implementation AppDelegate

 

 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// Override point for customization after application launch.

DDLogLib* logLib = [[DDLogLib alloc] init];

[logLib printABC];

 

return YES;

}

10、運行DDLogLibAPP,一切正常。

11、在DDLogLibAPP中直接使用DDLog。

#import "AppDelegate.h"

#import <DDLogLib/DDLogLib.h>

 

#import <DDLog.h>

#import <DDFileLogger.h>

#import <DDTTYLogger.h>

 

static int ddLogLevel = LOG_LEVEL_INFO;

 

@interface AppDelegate ()

 

@end

 

@implementation AppDelegate

 

 

 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// Override point for customization after application launch.

 

//app 通過靜態庫調用

// DDLogLib* logLib = [[DDLogLib alloc] init];

// [logLib printABC];

 

//app 直接調用

DDLogFileManagerDefault *logFileManager = [[DDLogFileManagerDefault alloc] init];

DDFileLogger* _fileLogger = [[DDFileLogger alloc] initWithLogFileManager:logFileManager];

_fileLogger.rollingFrequency = 60 * 60 * 24; // 24 hour rolling

_fileLogger.logFileManager.maximumNumberOfLogFiles = 7; // a weeks worth

 

//#ifdef DEBUG

[DDLog addLogger:[DDTTYLogger sharedInstance]];// this is log to xcode window.

//#else

[DDLog addLogger:_fileLogger];

//#endif

 

DDLogInfo(@"application ABC");

 

return YES;

}

12、運行正常打印。

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美xxxx做受欧美| xxx成人少妇69| 久久久国产精品视频| 亚洲国产成人精品一区二区| 亚洲黄色www网站| 欧美成人精品在线视频| 日韩视频免费观看| 欧美成人h版在线观看| 97视频在线观看免费高清完整版在线观看| 中文字幕日韩av电影| 久久久久国产一区二区三区| 欧美丰满老妇厨房牲生活| 操日韩av在线电影| 欧美国产在线视频| 欧美日韩一区二区精品| 欧美有码在线观看视频| 亚洲欧洲在线免费| 欧美电影免费观看高清完整| 国产亚洲欧美日韩美女| 国产精品免费一区二区三区都可以| 成人在线视频福利| 亚洲欧洲黄色网| 国产精品久久久久久久久男| 色诱女教师一区二区三区| 欧美日韩精品在线观看| 国语自产精品视频在免费| 国产精品成av人在线视午夜片| 国产91精品黑色丝袜高跟鞋| 亚洲午夜未满十八勿入免费观看全集| 国产激情视频一区| 欧美成人精品激情在线观看| 欧美日韩国产一中文字不卡| 国产一区二区三区在线播放免费观看| 中文字幕日韩精品有码视频| 久久久人成影片一区二区三区| 久久久精品一区二区三区| 国产日韩换脸av一区在线观看| 久久免费观看视频| 色婷婷综合久久久久| 国模精品视频一区二区三区| 清纯唯美亚洲综合| 国产精品视频在线观看| 日韩中文字幕网站| 欧美精品aaa| 国产伊人精品在线| 欧美视频在线免费| 最近中文字幕mv在线一区二区三区四区| 久久色精品视频| 欧美精品手机在线| 欧美激情综合亚洲一二区| 97超碰蝌蚪网人人做人人爽| 国产成人亚洲综合91| 国产一区二区三区视频免费| 亚洲成人网久久久| 色噜噜久久综合伊人一本| 亚洲国产美女久久久久| 91精品国产91久久久久久| 国产精品pans私拍| 成人性生交大片免费观看嘿嘿视频| 91在线无精精品一区二区| 精品毛片三在线观看| 日韩av免费在线观看| 久久精品一区中文字幕| 正在播放国产一区| 国产亚洲精品久久久久久牛牛| 91av视频在线免费观看| 成人黄色av网站| 91久久在线视频| 欧美日韩国产精品专区| 久久精品国产一区二区三区| 91av在线影院| 久久综合88中文色鬼| 亚洲欧美中文字幕| 欧美日韩电影在线观看| 亚洲色无码播放| 久久九九有精品国产23| 日韩中文字幕欧美| 亚洲人成电影在线| 97在线视频免费| 最近2019中文免费高清视频观看www99| 992tv在线成人免费观看| 中文字幕一区二区三区电影| 美女国内精品自产拍在线播放| 国产精品久久久久久婷婷天堂| 国产精品视频专区| 亚洲国产成人精品久久久国产成人一区| 91高清在线免费观看| 日本国产高清不卡| 国产成人精品在线播放| 国产自产女人91一区在线观看| 国产美女主播一区| 一区二区三区精品99久久| 国产精品中文久久久久久久| 成人做爰www免费看视频网站| 亚洲爱爱爱爱爱| 久久精品成人动漫| 91中文在线观看| 欧美自拍视频在线| 日韩三级影视基地| 粉嫩老牛aⅴ一区二区三区| 亚洲中国色老太| 欧美国产欧美亚洲国产日韩mv天天看完整| 另类少妇人与禽zozz0性伦| 亚洲精品国产拍免费91在线| 久久精品成人一区二区三区| 欧美小视频在线观看| 亚洲毛片在线观看.| 久久精品一本久久99精品| 欧美国产日产韩国视频| 久久精品99久久久久久久久| 欧美日韩精品二区| 91久久中文字幕| 亚洲精品资源美女情侣酒店| 亚洲va欧美va在线观看| 欧美在线国产精品| 欧美高清性猛交| 蜜臀久久99精品久久久久久宅男| 日韩亚洲在线观看| 福利一区福利二区微拍刺激| 久久精品国产亚洲精品2020| 成人春色激情网| 国产精品久久久久久久久久三级| 久久久电影免费观看完整版| 亚洲免费电影在线观看| 亚洲成人免费在线视频| 中文字幕视频一区二区在线有码| 91精品国产综合久久香蕉最新版| 欧美小视频在线| 国产精品自产拍在线观| 日韩电影免费观看在线| 亚洲人成电影网站色| 成人www视频在线观看| 亚洲欧美在线一区二区| 国产精品国产三级国产aⅴ浪潮| 国产精品久久久久久久久久久久| 福利一区福利二区微拍刺激| 久久国产精品久久久久| 美女扒开尿口让男人操亚洲视频网站| 欧美极品少妇xxxxⅹ裸体艺术| 亚洲人成网站999久久久综合| 爽爽爽爽爽爽爽成人免费观看| 欧美精品精品精品精品免费| 亚洲第一福利在线观看| 日韩av免费在线观看| 国产精品青草久久久久福利99| 欧美精品久久久久久久久| www.午夜精品| 亚洲在线观看视频| 97**国产露脸精品国产| 欧美精品一区二区免费| 亚洲图片制服诱惑| 成人在线精品视频| 欧美影院在线播放| 国产在线视频欧美| 国产欧美最新羞羞视频在线观看| 久久久亚洲国产天美传媒修理工| 国产在线精品成人一区二区三区| 欧美激情日韩图片| 欧美成年人视频网站| 另类图片亚洲另类| 日韩中文理论片| 亚洲三级黄色在线观看| 中文字幕久热精品视频在线| 亚洲欧美制服综合另类|