项目需求视频播放和直播,决议 ZFPlayer 框架 其间包含ijkplayer

我的电脑是M1 问题真多

pod ZFPlayer

pod 'ZFPlayer/ijkplayer', '~> 4.0'

模拟器报错 真机都不报错的

ijk从入死到入坑

The linked framework ‘Pods_Test.framework’ is missing one or more architectures required by this target: x86_64.

处理: 删除 xxx.framework 然后即可运转

ijk从入死到入坑

Excluded Architecture

扫除的体系结构

pods zf之后,项目部分装备被改动

Pods模块

ijk从入死到入坑

ijk从入死到入坑

其他模块正常的

ijk从入死到入坑

主工程:

ijk从入死到入坑

ijk从入死到入坑

总结: 真机没问题,模拟器报错。所以可能是包架构问题。ZFPlayer会主动给工程进行装备,仅仅之前编译的产品需求删除。重新编译即可。主要原因便是Xcode 12 会给模拟器产生arm64架构吧 说的也不一定对 暂时这样吧。

考虑到ZFPlayer需求修正源码 所以不通过cocopods导入。采纳手动导入。所以IJK能够考虑手动和 pods

Pods IJK

移除zf 项目装备会主动恢复

ijk从入死到入坑

ijk从入死到入坑

ijk从入死到入坑

ijk从入死到入坑

pod 'IJKMediaFramework'

模拟器报错 真机不报错

IJKMediaFramework(IJKAVMoviePlayerController.o), building for iOS Simulator, but linking in object file built for iOS, file '/Users/wangpanpan/Desktop/Test/Pods/IJKMediaFramework/IJKMediaFramework/Classes/IJKMediaFramework.framework/IJKMediaFramework' for architecture arm64

ijk从入死到入坑

IJK没有改动项目装备 需求咱们手动去改了

手动修正装备相似 pods ZFPlayer

ijk从入死到入坑

手动修正后就能够运转正常了

弥补 pods能够参加 除掉操作

post_install do |installer|
  installer.pods_project.build_configurations.each do |config|
    config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
  end
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      # 处理 M1 芯片上不支持 模拟器 运转问题:不仅仅编译活跃的架构,反之便是 i386、x86_64、arm64 等架构都编译。
      config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
    end
  end
end

ijk从入死到入坑

虽然这样 可是也没运转起来。我晕 这个暂时记录一下吧

手动导入IJK

导入前能够查看一下 编译进程 # 2022年-编译IJK

小计

自我修正还是主动修正 ## Excluded Architecture 都会导致模拟器发动变卡 内存 Memory飙升 暂时不知道咋处理

ijk从入死到入坑

Warning: Error creating LLDB target at path '/Users/wangpanpan/Library/Developer/Xcode/DerivedData/Test-egovjxzzbyjdyydecsbijdxirabg/Build/Products/Debug-iphonesimulator/Test.app'- using an empty LLDB target which can cause slow memory reads from remote devices.

ijk从入死到入坑

ijk从入死到入坑