OpenUDID内存泄漏

2018-09-21  本文已影响143人  002and001

通过Pod导入OpenUDID,在使用的时候同instrument的leak发现内存泄漏问题。
我们的Pod文件中

pod 'OpenUDID','~> 1.0'

通过排查和网上搜索(OpenUDID的issue里面有提及这个问题)最终定位在了OpenUDID.m文件中的

测试步骤:

修改OpenUDID.m文件,
把整个文件内容替换为分支上的最新commit的内容,这个时候先不要profile,删除App后clean一下,run一次后profile,再使用leak检查,这个时候OpenUDID不存在内存泄漏了。

解决办法:

还是希望通过Pod来管理第三方,
于是自己从OpenUDID fork出自己的仓库,添加podspec文件和LICENSE文件,push后打上对应的tag,然后关联pod上传到https://cocoapods.org/pods/,最后修改自己的项目引用自己关联的pod项目。
FHHOpenUDID.podspec

Pod::Spec.new do |s|

  s.name         = "FHHOpenUDID"
  s.version      = "1.0.1"
  s.summary      = "FHHOpenUDID"
  s.homepage     = "https://github.com/002and001/OpenUDID"
  s.license      = "MIT"
  s.author       = { "002and001" => "xxewz1@163.com" }
  s.source       = { :git => "https://github.com/002and001/OpenUDID.git", :tag => "#{s.version}" }
  s.module_name = 'OpenUDID'
  s.ios.deployment_target = '8.0'
  s.frameworks   = "Foundation", "UIKit"
  s.source_files  = "*.{h,m}"
  s.requires_arc = false

end

最后修改pod文件:

pod 'FHHOpenUDID','~> 1.0'

关联pod

上一篇下一篇

猜你喜欢

热点阅读