Linker command failed with exit code 1 (use -v to see invocation)
由于link出现问题
- 原因:submodule和pod同时存在,导致编译器不知道去哪个地方进行调用。解决方法:删除其中一个,个人建议删除submodule,然后用command+option+shift+k,删除所有已经build文件,然后重新build,因为更加简单。
- 根据提醒,文件重复,原因是文件产生的文件名冲突,导致产生的.a之类的文件冲突。
- ImageNamed会进行缓存,不仅仅从Assets中读取,也从路径中读取,不需要加2x等后缀,contentOfFile:需要完整路径,需要加上2x后缀。
- 使用newView.layer.shouldRasterize = YES虽然使用栅栏化,但是因为栅栏化导致图片变得模糊,同时模糊的对象除了本身还有其包含的UIView的子类。所以最好的建议在大量使用圆角的时候,如果图片小,可以使用shouldRasterize,否则最好使用CAShapeLayer进行重新绘制。虽然还是会调用上下文,但是因为是用户设置好告诉系统需要调用,所以减少卡顿效果
- tableView & collectionView 的 cell 的size 都是通过计算获得,苹果方面禁止对 cell 直接使用使用 autolayout。
- cell 中的 imageView 的 superView 是 contentView ,而 contentView 的superView 才是 Cell。所以当内容插入的时候,需要将内容插入到 contentView 而不是直接插入到 cell 当中,否则在调试 UI 的过程中,控件的状态像是 存在于 Layer 上面一样。
- 对于懒加载的使用情况。主要是为了应对一个 VC 下面有多种的 View 的现实情况,而不同的 View 的出现概率不一定,所以为了节省空间而使用懒加载。
- 缺点:但是因为懒加载重写了 getter 方法,如果在书写的过程中不按照规范书写,导致返回值发生变化。这样父类调用子类的情况可能没有问题,但是父类调用子类的子类,就可能会出现问题。
- 需要注意:在只需要加载一次的情况下,就直接创建对象并赋值。
- 尽可能使用全称来进行描述变量,比如说:使用
button
而不是btn
。 - 对于pod 1.0以上版本在bundle内直接使用
NSLocalizedString(arg1,arg2)
可能会无法读取,所以取而代之用NSLocalizedStringFromTableInBundle(@"goback", nil, bundle, nil);
进行获取相关内容的i18n。 - 对于alias命令使用.bash_profile进行转化(对于单个用户),/etc/podfile 对全体用户进行转化。
- 对于不同类型的 asset 转换成 CGImage(图片质量从高到低分别是):
- [UIImage imageWithCGImage:[[asset defaultRepresentation] fullResolutionImage]],直接获得原图,不经过相册自带修改的信息,非 PNG 格式
- [UIImage imageWithCGImage:[[asset defaultRepresentation] fullScreenImage]],获得缩略图,经过相册自带修改信息的处理
- [UIImage imageWithCGImage:[asset aspectRatioThumbnail]],获得分辨率约为 380 * 250 的图片
- [UIImage imageWithCGImage:[asset thumbnail]] ,获得 125 * 125的缩略图。
- 对于正确使用ssh的添加方法:
- ssh -T git@git.caimi-inc.com 对git进行测试判断是否正常
- ssh-keygen -t rss -C “注释名“ 创建一个名字
- 里面的创建的名字不需要使用路径名字,直接输入文件名即可
- 创建完后加入最后ssh-add privateKeyName,然后上传即可
podspace 的基本情况:通过 ruby 书写。明白了版本号的区别(语义化版本),详见网页地址
就算是系统内部的函数也存在循环引用的情况,
[[NSNotificationCenter defaultCenter] addObserverForName:<#(nullable NSString *)#> object:<#(nullable id)#> queue:<#(nullable NSOperationQueue *)#> usingBlock:<#^(NSNotification * _Nonnull note)block#>]
方法因为返回一个observer对象会导致self,持有这个对象,从而导致环的出现。brew install imagemagick。图片转换,使用方法: convert -resize 50% sourcePath aimPath;
- 1234567dyld: Library not loaded: @rpath/XCTest.framework/XCTest**** Referenced from: /Users/zkhcreator/Library/Developer/CoreSimulator/Devices/475FB229-B4DF-41AA-B3B9-263F47E7FEA2/data/Containers/Bundle/Application/6670C0B5-2E68-4F43-B0AD-5C78ABD3D78E/WacApp.app/WacApp**** Reason: image not found**解决方法:在对应工程文件中Build Phases中高的Link Binary With Libraries中添加XCTest.framework,由于在这个工程文件中不存在对应内容,所以status设置为optional。