繁体   English   中英

BlocksKit 1.8.1 / Xcode 4.5 / iOS的编译器警告

[英]Compiler warnings with BlocksKit 1.8.1 / Xcode 4.5 / iOS

在iOS项目中的Xcode 4.5中使用BlocksKit 1.8.1时,我收到警告。

警告是:

在此处输入图片说明

详细信息是:

GenerateDSYMFile /Users/john/Library/Developer/Xcode/DerivedData/AppName-epvlodroaifdsbacdbbxnlhuptrh/Build/Products/Debug-iphoneos/AppName.app.dSYM / Users / john / Library / Developer / Xcode / DerivedData / AppName-epvlodrodroads产品/Debug-iphoneos/AppName.app/AppName cd / Users / john / Documents / AppName_iphone setenv PATH“ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode .app / Contents / Developer / usr / bin:/ usr / bin:/ bin:/ usr / sbin:/ sbin“ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil / Users / john / Library / Developer / Xcode / DerivedData / AppName-epvlodroaifdsbacdbbxnlhuptrh / Build / Products / Debug-iphoneos / AppName.app / AppName -o / Users / john / Library / Developer / Xcode / DerivedData / AppName-epvlodroaifdsbacdbbxnl产品/Debug-iphoneos/AppName.app.dSYM

使用设备目标进行编译时。

以模拟器作为目标进行编译时,警告有所不同:

在此处输入图片说明

我已按照Git页面上的说明进行操作:

  • 下载一个BlocksKit版本。
  • 将libBlocksKit.a和Headers移至项目的文件夹,最好是子文件夹,如“ Vendor”。
  • 在“构建阶段”中,将libBlocksKit.a拖到目标的“使用库链接二进制文件”构建阶段。
  • 在目标或项目的构建设置中,将“其他链接器标志”更改为-ObjC -all_load。 确保您的应用与CoreGraphics,Foundation,MessageUI和UIKit链接。
  • 更改(或添加)“ Header Search Paths”到BlocksKit标题的相对路径,例如$(SRCROOT)/ Vendor / Headers。
  • 在项目的前缀标头中插入#import`。

有什么事吗

我也有同样的警告,找不到原因,但是找到了临时解决方案。

可能相关:

在BlocksKit 1.8.1中进行链接似乎还有更多问题:我的应用程序可以编译并正确地用于开发版本(尽管显示了这些警告)。 但是,当我为临时部署构建归档文件时,显然没有链接libBlocksKit,因为使用以下崩溃日志调用BlocksKit方法之一时,应用程序崩溃了:

Last Exception Backtrace:
0   CoreFoundation                  0x3b2783e2 __exceptionPreprocess + 158
1   libobjc.A.dylib                 0x3a2d195e objc_exception_throw + 26
2   CoreFoundation                  0x3b27bdbc +[NSObject(NSObject) doesNotRecognizeSelector:] + 180
3   CoreFoundation                  0x3b27a648 ___forwarding___ + 388
4   CoreFoundation                  0x3b1d2204 _CF_forwarding_prep_0 + 20

对于所有构建配置,我的其他链接器标志都设置为-ObjC (我删除了-all_load因为这会导致我正在使用的AdMob库出现“重复的符号”。)

临时解决方案:

我切换回BlocksKit的旧分支: https : //github.com/zwaldowski/BlocksKit并使用链接器标志-ObjC 该分支已弃用,但对我有用,但没有针对所有构建配置的以上任何警告。

似乎这是一个错误,将在下一版BlocksKit中修复:

https://github.com/pandamonia/BlocksKit/issues/108

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM