我正在尝试将Cocoalumberjack安装为pod并且收到此错误:
该
ProjectName [Release]目标将覆盖SWIFT_VERSION在'荚/目标支持文件/豆荚,项目名/豆荚-ProjectName.release.xcconfig"定义的构建设置.这可能导致CocoaPods安装出现问题
pod xcconfig文件包含以下内容:
SWIFT_VERSION = 3.0
Run Code Online (Sandbox Code Playgroud)
但我的项目已经使用了swift 3.所以我不明白为什么会出现这种不匹配.
xcrun swift -version
Apple Swift 3.0版(swiftlang-800.0.46.2 clang-800.0.38)
但是我在Xcode的构建设置中的任何地方都看不到SWIFT_VERSION,也没有输入swift,因为Xcode的构建设置中的搜索项可以在任何地方看到甚至看起来像一个快速的版本号
此外,pod安装继续说:"使用$(inherited)标志"来解决问题.但是我的Xcode构建设置其他链接器标志已经有这个$(继承)标志,那么为什么不能解决这个问题呢?
(Xcode 8)
自从迁移到Xcode 9后,我在模拟器上从断点恢复时发现了奇怪的行为.
我的应用程序显着使用多个线程,并且在不同线程的代码中设置了一些断点.一旦应用程序在断点处停止然后恢复(在不同的断点上重复几次),它最终会永远冻结,这看起来像主线程上的死锁:
__ulock_wait主要线程上显示了callstack .同时,其他后台线程显示各种操作,例如记录机制(CocoaLumberjack),下载图片(Alamofire)等.在连接到Xcode或先前版本的Xcode的设备上测试相同断点时,不会发生这种情况.我还测试了应用程序中使用的许多POD演示应用程序之一的行为,结果相同.
所描述的行为将调试体验带到烦人的程度,甚至打破了完全调试代码的某些部分的可能性.任何人都可以确认类似的,不想要的行为
我以前使用物镜C的Lumberjack记录器,我喜欢它.现在我开始学习Swift,我不能在那里使用我最喜欢的记录器.有人可以一步一步地写出我能做到的事吗?在Lumberjack 2.0发布之前,我尝试在这里找到一些东西,但所有主题都是自定义包装器.我做了什么:
我不知道接下来该怎么办?因为在ObjC中我有宏:static const int ddLogLevel = LOG_LEVEL_INFO; else static const int ddLogLevel = LOG_LEVEL_VERBOSE; 我的日志级别取决于编译标志......我可以在这里做吗?以及如何在代码中使用Lumberjack?谢谢!
我收到了几个这样的警告:
Swift compiler warning:
CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler
/Myfolder/Pods/Headers/CocoaLumberjack/DDLog.h:176:9: 'LOG_INFO' macro redefined
/Myfolder/Pods/Headers/CocoaLumberjack/DDLog.h:177:9: 'LOG_DEBUG' macro redefined
Run Code Online (Sandbox Code Playgroud)
警告在Projet-Bridging-Header.h中抱怨DDLog.h
#import "DDLog.h"
#import "DDASLLogger.h"
#import "DDTTYLogger.h"
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
objective-c swift xcode6 objective-c-swift-bridge cocoalumberjack
我正在尝试通过将Lumberjack.Xcode文件拖放到我的项目中来将CocoaLumberjack集成到我的iOS项目中.这很好,但现在我的项目有9个新目标.我不需要所有这些开销.所以我的问题是,如何减少目标数量以适应iOS所需的东西?
似乎每次我只拖动它缺少所需文件的移动项目.根据我的研究,似乎没有与将Lumberjack专门集成到iOS相关的最新教程,这似乎是一种常用的工具,因此很奇怪.对所有这些都是新手,这很麻烦,我会很乐意帮助你.
其他信息:我正在进行手动安装,因为Cocoapods不适合我.我按照他们的安装指南: 安装指南
手动安装指南的第一行是
git submodule add git@github.com:CocoaLumberjack/CocoaLumberjack.git
Run Code Online (Sandbox Code Playgroud)
我不想在我的项目中添加另一个子模块,所以我将Lumberjack.Xcode拖放到我的项目中.
我是新来CocoaLumberjack,我得到它的工作雨燕下面这个.如果我尝试打印日志:
DDLogDebug("Debug")
DDLogInfo("Info")
DDLogWarn("Warning")
DDLogVerbose("Verbose")
DDLogError("Error")
Run Code Online (Sandbox Code Playgroud)
一切正常,我打印所有级别,因为我defaultDebugLevel是DDLogLevel.Verbose.
但是我找不到/找出如何用日志打印行或文件名.任何的想法?
非常感谢!!
我有一个项目使用Cocoalumberjack 2.x作为Cocoapod.该项目主要使用Obj-C,但也使用了一些Swift类.
我总是得到这些警告:
Disable legacy macros by importing CocoaLumberjack.h or DDLogMacros.h instead of DDLog.h or add `#define DD_LEGACY_MACROS 0` before importing DDLog.h.
Run Code Online (Sandbox Code Playgroud)
在主项目中,我没有导入DDLog.h的文件.只有Pods中的CocoaLumberjack导入DDLog.h.
我也得到了DDLogError macro redefined,DDLogInfo macro redefined等警告.导致这种情况的问题是什么?
我正在使用CocoaLumberjack V2.4将日志保存到文件中.
这是将保存日志设置为文件的默认代码:
DDFileLogger *fileLogger = [[DDFileLogger alloc] init]; // File Logger
fileLogger.rollingFrequency = 60 * 60 * 24; // 24 hour rolling
fileLogger.logFileManager.maximumNumberOfLogFiles = 7;
[DDLog addLogger:fileLogger];
Run Code Online (Sandbox Code Playgroud)
日志保存在默认位置:/ AppData/Library/Caches/Logs /
我希望实现一个API来手动删除保存的日志.我检查他们有手动清除日志作为那里的公开问题.有人有建议吗?
我正在尝试将CocoaLumberjack实现为框架,并且在模拟器上可以正常工作,但是当尝试在iPhone上使用它时,出现此错误:
dyld: Library not loaded: @rpath/CocoaLumberjack.framework/CocoaLumberjack
Referenced from: /var/containers/Bundle/Application/3EF12D55/myApp.app/CocoaLumberjackSample
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
你们都知道为什么模拟器和设备之间的区别吗?
非常感谢您的帮助。
cocoalumberjack ×10
ios ×7
objective-c ×4
swift ×4
logging ×2
lumberjack ×2
xcode ×2
breakpoints ×1
cocoa-touch ×1
cocoapods ×1
iphone ×1
macos ×1
xcode6 ×1