一、系统环境
MAC OS X Mountain Lion 10.8.3、 XCode 5.1
二、编译FFMpeg
1、下载ffmpeg2.2.5版本代码,并解压。
2、下载并解压gas-preprocessor.pl (附件中有,zip格式,因网易博客不能上传zip后缀的文件,故加了个.rar)
在终端中使用cp命令将它复制到 /usr/sbin/目录,并赋予可执行权限。
sudo cp -f gas-preprocessor/gas-preprocessor.pl /usr/sbin/chmod +x /usr/sbin/gas-preprocessor.pl
3、在ffmpeg目录下创建一个config.sh脚本
#!/bin/bash
SDKVERSION="7.1"
ARCHS="armv7 armv7s i386"
DEVELOPER=`xcode-select -print-path`
cd "`dirname \"$0\"`"
REPOROOT=$(pwd)
# where we will store intermediary builds
INTERDIR="${REPOROOT}/built"
mkdir -p $INTERDIR
########################################
# Exit the script if an error happens
for ARCH in ${ARCHS}
do
if [ "${ARCH}" == "i386" ]
then
PLATFORM="iPhoneSimulator"
EXTRA_CONFIG="--arch=i386 --disable-asm --enable-cross-compile --target-os=darwin --cpu=i386"
EXTRA_CFLAGS="-arch i386"
EXTRA_LDFLAGS="-I${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk/usr/lib"
else
PLATFORM="iPhoneOS"
EXTRA_CONFIG="--arch=arm --target-os=darwin --enable-cross-compile --cpu=cortex-a9 --disable-armv5te"
EXTRA_CFLAGS="-w -arch ${ARCH}"
fi
mkdir -p "${INTERDIR}/${ARCH}"
./configure --prefix="${INTERDIR}/${ARCH}" \
--disable-neon \
--disable-armv6 \
--disable-armv6t2 \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-iconv \
--disable-bzlib \
--enable-avresample \
--sysroot="${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk" \
--cc="${DEVELOPER}/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" \
--as='/usr/local/bin/gas-preprocessor.pl' \
--extra-cflags="${EXTRA_CFLAGS} -miphoneos-version-min=${SDKVERSION}" \
--extra-ldflags="-arch ${ARCH} ${EXTRA_LDFLAGS} -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk -miphoneos-version-min=${SDKVERSION}" ${EXTRA_CONFIG} \
--enable-pic \
--extra-cxxflags="$CPPFLAGS -isysroot ${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk"
make &&make install &&make clean
done
mkdir -p "${INTERDIR}/universal/lib"
cd "${INTERDIR}/armv7/lib"
for file in *.a
do
cd ${INTERDIR}
xcrun -sdk iphoneos lipo -output universal/lib/$file -create -arch armv7 armv7/lib/$file -arch armv7s armv7s/lib/$file -arch i386 i386/lib/$file
echo "Universal $file created."
done
cp -r ${INTERDIR}/armv7/include ${INTERDIR}/universal/
echo "Done."
SDKVERSION 是XCode的版本,通过`xcode-select -print-path`来获取XCode的安装路径,ARCHS是编译的三种模式,接下来在终端中cd到ffmpeg目录,./config.sh执行就可以编译了。等到编译完成后,在ffmpeg目录下会多出一个built目录,里面分别是armv7 armv7s i386及三个合并的universal版本了。
、准备工作1、jenkins环境。搭建jenkins环境可以参考jenkins平台搭建和配置一节。需要注意的是,虽然涉及iOS开发,但是jenkins平台却不必搭建在mac机器上,只要在jenkins上添加mac节点就可以了。2、iOS开发环境。iOS开发环境主要是指Xcode开发环境,Xcode是免费的,只要在苹果应用商店里下载一个就可以了。当然,还有重要的一点儿---开发者证书,现在个人也已经有免费的证书了,没有证书的话,只能打模拟器用的包了。3、git项目。强烈建议把代码放在git上,这样便于团队开发。当然,不放git上也可以。4、jenkins Xcode持续集成插件。常用的插件Xcode integration,这个插件能够快速的帮助我们进行Xcode打包配置,当然,只用纯shell脚本也是可以的。在jenkins上打包之前,我们最好手工测试一下可以打包成功,首先用Xcode图形界面进行测试,然后用命令行测试,如果都能打包成功就可以挂在jenkins上运行了,毕竟jenkins的原理也是通过执行一系列命令来完成的。三、jenkins配置 1、创建一个任务,创建任务的时候最好选自由风格的软件项目,这样配置起来比较方便,如果有需要,也可以选择其他的风格。2、描述(1)软硬件要求
ios开发硬件环境配置
苹果设备,首先需要一台Mac电脑及一个iDevice——iPhone、iPad、iPod Touch均可,但三个设备都有的话,会对硬件配置更加有利,可以在不同设备上进行测试,确保app能在所有苹果设备上运行。
软件设置
在ios app开发中,首先要先会运用iOS应用程序设计语言Objective-C(现在最新的ios程序设计语言为swift)进行app设计。完成软件设计后,在开发应用程序时,需要使用Apple开发套件(SDK)以及Xcode,即ios的集成开发环境(IDE),进行代码调试、编译等。
(2)如何搭建开发环境
首先搭建Mac环境。其次要在真机(iphone/ipad)上部署和调试。Apple的iOS开发者帐号是每年99美元,除了能够访问各种文档资源之外,最重要的是它可以帮助开发者生成合法证书,并把应用部署到App store和真机上,当然,如果产品开发完成之后打算投入市场,那这个钱是省不得的。
第三步调试Phonegap源码。能调试Phonegap源码还是很必要的,一是可以学习一下整个流转机理,二是便于调试自己写的或加装的plugin。
第四部根据官方guide: Getting Started with iOS,搭建好项目结构。然后:
1、删除“Cordova.framework”
2、把CordovaLib.xcodeproj从phonegap源码包里拖到xcode里。
3、选择主项目(starteam-mobile-ios)的“Build Phases”,在“Link Binary With Libraries”下添加“Workspace”下的“libCordova.a”。
4、在“Target Dependencies”添加“CordovaLib”。
5、编辑“Build Settings”里的“Other Linker Flags”,添加“-all_load -Obj-C”配置项。
6、把Phonegap源码包里的“VERSION”文件拖到“Supporting Files”文件夹下。
7、主项目和CordovaLib.xcodeproj下的Architectures改为:Standard (armv7),不然编译时会报gcc相关的错。
最后调试Javascript。在真机上出了Javascript错误是非常难调试的,这需要很多的工具来支持才行,我准备把它和其他移动平台上javascript调试单独作为一个主题来详细研究,这里就暂时不多说了。到此,iOS上Phonegap开发环境也就搭建完成。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)