容易被忽略的xcode xcworkspace

经过一段时间的复习和学习,对使用ffmpeg来解码,越来越有信心,所以在2015年11月13日,正式开始建立工程,取名为 DDPlayer来实验最近所学。
其实在开始建工程前,我回过头去看了看之前参与过的播放器的代码,觉得那个架构太狗屎了,那么多层次,要玩转真是不容易,维护成本太高,突然有点佩服自己当年拿到那么一套狗屎代码竟然还看懂了、还改bug了。
DDPlayer采取2层架构,为了方便管理,建立了一个名为DDPlayer.xcworkspace的工作组,下面包括两个project,即:DDPlayer.xcodeproj 和 PlayerManageLib.xcodeproj。前者是项目UI和控制的实现,采用纯OC;后者是与播放器底层相关的代码,包括:视频解码线程、音频解码线程、字幕解码线程、硬件解码、渲染线程、播放控制接口的提供等,这部分主要是C++来实现。很明显,DDPlayer.xcodeproj 是依赖 PlayerManageLib.xcodeproj的,我写了几个简单的函数来测试流程,遇到了一个很恼火的问题,在DDPlayer工程中import PlayerManageLib中的文件时,竟然不提示文件名,表示压力很大,问了度娘这个问题,最后发现,原来只设置了Header Search Paths ,而没有设置:User Header Search Paths (在编译设置中)的值,感觉好坑,因此写这篇文章,做个备忘。

你可能感兴趣的:(xcode,DDPlayer)