我的电脑是M1 问题真多
pod ZFPlayer
pod 'ZFPlayer/ijkplayer', '~> 4.0'
复制代码
模拟器报错 真机都不报错的
The linked framework 'Pods_Test.framework' is missing one or more architectures required by this target: x86_64.
解决: 删除 xxx.framework 然后即可运行
Excluded Architecture
排除的体系结构
pods zf之后,项目部分配置被改变
Pods模块
其他模块正常的
主工程:
总结: 真机没问题,模拟器报错。所以可能是包架构问题。ZFPlayer会自动给工程进行配置,只是之前编译的产物需要删除。重新编译即可。主要原因就是Xcode 12 会给模拟器产生arm64架构吧 说的也不一定对 暂时这样吧。
考虑到ZFPlayer需要修改源码 所以不通过cocopods导入。采取手动导入。所以IJK可以考虑手动和 pods
Pods IJK
移除zf 项目配置会自动恢复
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没有改变项目配置 需要我们手动去改了
手动修改配置类似 pods ZFPlayer
手动修改后就可以运行正常了
补充 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
导入前可以查看一下 编译过程 # 2022年-编译IJK
小计
自我修改还是自动修改 ## Excluded Architecture
都会导致模拟器启动变卡 内存 Memory飙升 暂时不知道咋解决
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.