当使用WKWebView的时候,出现下列错误:
1、Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_WKWebView", referenced from:
      objc-class-ref in XZPartImageController.o
      objc-class-ref in XZSharePartImageController.o
  "_OBJC_CLASS_$_WKWebViewConfiguration", referenced from:
      objc-class-ref in XZPartImageController.o
  "_OBJC_CLASS_$_WKUserContentController", referenced from:
      objc-class-ref in XZPartImageController.o
  "_OBJC_CLASS_$_WKUserScript", referenced from:
      objc-class-ref in XZPartImageController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
XZ_iOS之出现以下问题的解决

在Info中的General最下方的Linked Frameworks and Libraries中添加WebKit.framework框架
XZ_iOS之出现以下问题的解决
2、项目嵌入环信UI,导致出现下方6个错误
Undefined symbols for architecture x86_64:
  "_ACAccountTypeIdentifierTwitter", referenced from:
      -[PF_Twitter getLocalTwitterAccountAsync] in Parse(PF_Twitter.o)
  "_OBJC_CLASS_$_ACAccountStore", referenced from:
      objc-class-ref in Parse(PF_Twitter.o)
  "_OBJC_CLASS_$_SLComposeViewController", referenced from:
      objc-class-ref in Parse(PF_Twitter.o)
  "_OBJC_CLASS_$_SLRequest", referenced from:
      objc-class-ref in Parse(PF_Twitter.o)
  "_SLServiceTypeTwitter", referenced from:
      -[PF_Twitter getAccessTokenForReverseAuthAsync:localTwitterAccount:] in Parse(PF_Twitter.o)
      -[PF_Twitter getLocalTwitterAccountAsync] in Parse(PF_Twitter.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

XZ_iOS之出现以下问题的解决
解决方法:在TARGETS—Build Phases—Link Binary With Libraries 中添加以下两个库即可解决
Social.framework
Accounts.framework
XZ_iOS之出现以下问题的解决
像以上几个问题都是缺少框架导致的,有的时候我们不知道缺少什么框架,那就看每一对””括起来的部分,这部分的前缀都是框架的缩写,如果缩写也看不出来是哪个框架的话,只能通过缩写的第一个首字母查看了,然后根据显示出来的库的名称去匹配

3、
ld:2 duplicate symbols for architecture x86_64 
clang:error:linker command failed with exit code 1(use -v to see invocation)
定义了两个名为XZSecondKillViewController.h和XZSecondKillViewController.m的控制器
XZ_iOS之出现以下问题的解决
定义了两个名为XZSecondKillViewController.h和XZSecondKillViewController.m的控制器,将其中一个重新命名即可

4、20 duplicate symbols for architecture x86_64
XZ_iOS之出现以下问题的解决
从图片可以看出大概产生错误的3个地方,ZX开头的框架有些文件重复了导致的,XZQRView引用了这个框架和ThemeManager的重复,但是我在程序中并未搜到重复的文件,我删除了DriveData中的数据,重新运行还是不可以,然后我把重复的文件删除之后再重新导入就可以了。我把Xcode说的重复的ZX开头的第三方框架删除,Command + B编译一下,然后再把这个第三方框架重新导入,发现就少了一部分错误,其他的2个错误也是同样的方法,最终错误消除。


5、Xcode  Build时有错误,点击错误Xcode没反应,上方显示一个错误,点击错误,不显示详细的错误信息,如果我们想要查看详细的错误信息,可以按下面的方法查看
XZ_iOS之出现以下问题的解决
XZ_iOS之出现以下问题的解决

6、左滑手势返回的时候,或者是push到下一个页面的时候,右上角出现黑色的问题,因为没有设置 navigation的背景色
XZ_iOS之出现以下问题的解决

7、使用cocoaPod导入的极光框架,但是运行在iPhone 5的模拟器上报如下错误
Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_JPUSHService", referenced from:
      objc-class-ref in AppDelegate.o
  "_OBJC_CLASS_$_JPUSHRegisterEntity", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决:
  • 注意:不支持 Xcode 8.0 以下版本 开启 bitcode。
  • 注意 3.0.0及以上版本将不再支持处理器为i386的模拟器。
  • 添加libresolv.tbd库,否则编译运行会报错(2.2.0及以上版本要求)
XZ_iOS之出现以下问题的解决
8、将collectionView的创建写在viewDidLoad中,该控制器在显示的时候隐藏了导航栏,页面disappear的时候显示导航栏出现collectionView整体上移的情况,底部20px的留白的情况,将collectionView进行懒加载,不在viewDidLoad中创建,这种情况就没有了!!!

9、
2017-10-16 13:43:48.629340+0800 XZScrollView[15353:1249891] Logging only once for UICollectionViewFlowLayout cache mismatched frame
2017-10-16 13:43:48.629493+0800 XZScrollView[15353:1249891] UICollectionViewFlowLayout has cached frame mismatch for index path <NSIndexPath: 0xc000000000000016> {length = 2, path = 0 - 0} - cached value: {{24.21875, 114.48985677083334}, {271.5625, 588.02333333333331}}; expected value: {{35, 167.33333333333334}, {250, 541.33333333333337}}
2017-10-16 13:43:48.629572+0800 XZScrollView[15353:1249891] This is likely occurring because the flow layout subclass XZFlowLayout is modifying attributes returned by UICollectionViewFlowLayout without copying them
解决:将下面代码
NSArray *array = [super layoutAttributesForElementsInRect:rect];
替换成
NSArray *array = [[NSArray alloc]initWithArray:[super layoutAttributesForElementsInRect:rect] copyItems:YES];
即可。

10、
解决DVTPlugInManager: Required plug-in compatibility UUID DF11C142-1584-4A99-87AC-1925D5F5652A for KSImageNamed.ideplugin (com.ksuther.KSImageNamed) not present
问题:
2017-10-23 08:26:06.457 xcodebuild[1734:94610] [MT] DVTPlugInManager: Required plug-in compatibility UUID DF11C142-1584-4A99-87AC-1925D5F5652A for KSImageNamed.ideplugin (com.ksuther.KSImageNamed) not present
2017-10-23 08:26:07.552 xcodebuild[1734:94610] [MT] PluginLoading: Required plug-in compatibility UUID DF11C142-1584-4A99-87AC-1925D5F5652A for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2017-10-23 08:26:07.571 xcodebuild[1734:94610] [MT] PluginLoading: Required plug-in compatibility UUID DF11C142-1584-4A99-87AC-1925D5F5652A for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin' not present in DVTPlugInCompatibilityUUIDs
解决:
通过路径'~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin'找到Alcatraz.xcplugin插件,然后 右键/显示包内容/Contents/Info.plist 打开找到DVTPlugInCompatibilityUUIDs,将UUID后面的那一串DF11C142-1584-4A99-87AC-1925D5F5652A粘贴进去即可,其他的插件也是相同的原理,将最新版的Xcode的UUID放在DVTPlugInCompatibilityUUIDs数组里面。


相关文章: