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 释放的时候会执行,然后在里面释放使用的像素集合,为何出现这个错误,楼主有些不解,麻烦清楚知道的博友给予一些解答,感激不尽,谢谢!
Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐