update项目之后,出现一个问题,描述如下:
duplicate symbol _ProviderReleaseData in:
/Users/Sings/Library/Developer/Xcode/DerivedData/xxxx-fgklfldoifxapdbcxnojubdormvp/Build/Intermediates/xxxx.build/Debug-iphoneos/xxxx.build/Objects-normal/arm64/UIImage+Bitmap.o
/Users/Sings/Library/Developer/Xcode/DerivedData/xxxx-fgklfldoifxapdbcxnojubdormvp/Build/Intermediates/xxxx.build/Debug-iphoneos/xxxx.build/Objects-normal/arm64/UIImage+XG.o
ld: 1 duplicate symbol for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
经过查找发现给一个UIImage同时新建了两个了类别,且都调用了同一个方法
void ProviderReleaseData (void *info, const void *data, size_t size){
free((void*)data);
}
这里报错的意思就是两个文件中此方法重复定义,最后删除其中一个即可解决。 ProviderReleaseData方法是用来 遍历图片像素,更改图片颜色; 这个函数的意思是当CGDataProviderCreateWithData生成的CGDataProviderRef 释放的时候会执行,然后在里面释放使用的像素集合,为何出现这个错误,楼主有些不解,麻烦清楚知道的博友给予一些解答,感激不尽,谢谢!