ijkplayer icon indicating copy to clipboard operation
ijkplayer copied to clipboard

iOS端集成教程

Open tianguanghui opened this issue 3 years ago • 7 comments

自己整理的集成和静态库制作教程,感谢各位大佬。 一、基础环境:   1、安装homebrew、git、yasm     ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"     brew install git     brew install yasm

二、下载源码及编译参考: https://github.com/bilibili/ijkplayer   1、源码下载小技巧:     ①GitHub访问被墙,可以借助国内的Git平台,在国内Git平台导入Github项目,然后再通过国内Git平台克隆;     ②编译过程需要拉取Github的依赖项目源码,如init-ios.sh中的FFmpeg和gas-preprocessor,也可用①的方式,先导入,再克隆;   2、编译:     ①初始化 ./init-ios.sh     ②编译ffmpeg(过程稍微长一点)       cd ios       ./compile-ffmpeg.sh clean       ./compile-ffmpeg.sh all

三、制作静态库:   1、打开工程:用Xcode打开库工程 ios/IJKMediaPlayer/IJKMediaPlayer.xcodeproj   2、配置参数:选中Target IJKMediaFramework → Build Setting → Build Active Architecture Only 改为NO   3、编译静态库:     ①模拟器:       选中Scheme IJKMediaFramework,选中一个模拟器然后Build,在Products中得到IJKMediaFramework.framework,拷出来重命名为IJKMediaFramework-Simulator.framework     ②真机:       选中Scheme IJKMediaFramework,选中Any iOS Device然后Build,在Products中得到IJKMediaFramework.framework,拷出来重命名为IJKMediaFramework-OS.framework   4、合成静态库:     ① 查看模拟器库支持架构: lipo -info IJKMediaFramework-Simulator.framework/IJKMediaFramework //包含三种架构 arm64 i386 x86_64     ② 查看真机库支持架构: lipo -info IJKMediaFramework-OS.framework/IJKMediaFramework //包含三种架构 arm64 armv7     ③ 拆分库:       1> lipo IJKMediaFramework-Simulator.framework/IJKMediaFramework -thin arm64 -output IJKMediaFramework-Simulator.framework/IJKMediaFramework-arm64 //得到单独的64位架构库       2> 同1>得到其他架构 IJKMediaFramework-armv7 IJKMediaFramework-i386 IJKMediaFramework-x86_64     ④ 合成库: lipo -create IJKMediaFramework-arm64 IJKMediaFramework-armv7 IJKMediaFramework-i386 IJKMediaFramework-x86_64 -output IJKMediaFramework     ⑤ 将新的IJKMediaFramework替换真机库对应的IJKMediaFramework-OS.framework/IJKMediaFramework即可     ⑥ IJKMediaFramework-OS.framework重命名为IJKMediaFramework.framework就是最终的静态库

四、导入:   1、将IJKMediaFramework.framework拖入工程的第三方依赖目录,并选中拷贝到工程内;   2、若报头文件错误,则在Build Setting中Path中添加静态库的父目录即可(一般会自动添加上)。

tianguanghui avatar May 27 '21 01:05 tianguanghui

为什么要在 issue 发这个。。。

54lazycat avatar Jun 09 '21 02:06 54lazycat

为什么要在 issue 发这个。。。

因为我找了半天不知道咋集成,搜资料,集成完了,记录一下,又不知道发到哪里。

tianguanghui avatar Jun 10 '21 09:06 tianguanghui

有ssh的教程嗎?

ssh一直編譯失敗

duckscorpion13 avatar Jul 19 '21 03:07 duckscorpion13

编译 openssl 在这里 cd config rm module.sh ln -s module-default.sh module.sh cd ../ ./init-ios.sh ./init-ios-openssl.sh cd ios ./compile-openssl.sh clean ./compile-ffmpeg.sh clean ./compile-openssl.sh all ./compile-ffmpeg.sh all

Changzw avatar Aug 25 '21 16:08 Changzw

!! Can not find FFmpeg directory for ffmpeg-x86_64 !! Run 'sh init-ios.sh' first

x86_64架构的ffmpeg 和openssl无法安装,这个有遇到过吗?xcode12

amycliny avatar Nov 19 '21 07:11 amycliny

话说iOS录制大家怎么做的

RideShi avatar Mar 13 '24 11:03 RideShi

有ssh的教程嗎?

ssh一直編譯失敗

请问SSL解决了吗

zht415 avatar Aug 18 '24 11:08 zht415