获取内容资料
iOS开发

ios sdk 开发教程,ios sdk开发教程

公司最近要做一个外包的SDK项目,不知如何下手,请教了一个有SDK开发经验的同事,也在网上查了些资料,决定整理一下。整体上讲就是在SVN上创建一个项目路径,再用Xcode创建一个项目工程,把项目工程上传到SVN上就可以开发了,这里只讨论项目工程的创建。

一、创建一个workspace1、在桌面上创建一个文件夹LXSDK(名字自己随意取)

2、打开Xcode,创建一个workspace,路径放到文件夹MyTestSDK里面,XcodeFileNewWorkspace

创建workspace

之后可以看到MyTestSDK文件夹里面多了一个.xcworkspace文件

二、创建SDK1、打开LXSDK.xcworkspace文件,创建project

选择Cocoa Touch Framework

把framework添加到workspace里面

添加framework

三、创建Demo1、打开LXSDK.xcworkspace文件,创建project及选择Single View Application

3、添加LXTestDemo到workspace

添加LXTestSDK

从上图可以看出,上面是demo,下面是sdk,怎么把这两者关联起来呢?

四、Demo的关联以及SDK的开发调试1、把SDK打包成framework

这个步骤网上有很多种教程,这里就取其中一个,其它打包方式可参考这里

这里创建一个MyView类,继承于UIView,简单的重写了初始化方法,设置了颜色

设置Build Setting参数

更改参数,在Architectures下增加armv7s,并选中。将Build Active Architecture only设置为NO

设置Headers,将要公开的头文件拖到Public下,要隐藏的放到Private或Project下,隐藏的头文件不能被引用

然后需要在MyTestSDK.h(必须是公开的,否则无法引用)中将所有要公开的.h引入

创建一个Aggregare

嵌入脚本,选中刚刚创建的Aggregare,然后选中右侧的Build Phases,点击左边的+号,选择New Run Phases

下面把这段脚本复制进去(格式不要错,格式错编译不通过)

# Sets the target folders and the final framework product.

# 如果工程名称和Framework的Target名称不一样的话,要自定义FMKNAME

# 例如: FMK_NAME = “MyFramework”

FMK_NAME=${PROJECT_NAME}

# Install dir will be the final output to the framework.

# The following line create it in the root

folder of the current project.

INSTALL_DIR=${SRCROOT}/Products/${FMK_NAME}.framework

# Working dir will be deleted after the framework creation.

WRK_DIR=build

DEVICE_DIR=${WRK_DIR}/Release-iphoneos/${FMK_NAME}.framework

SIMULATOR_DIR=${WRK_DIR}/Release-iphonesimulator/${FMK_NAME}.framework

# -configuration ${CONFIGURATION}

# Clean and Building both architectures.

xcodebuild -configuration “Release” -target “${FMK_NAME}” -sdk iphoneos clean build

xcodebuild -configuration “Release” -target “${FMK_NAME}” -sdk iphonesimulator clean build

# Cleaning the oldest.

if [ -d “${INSTALL_DIR}” ]

rm -rf “${INSTALL_DIR}”

mkdir -p “${INSTALL_DIR}”

cp -R “${DEVICE_DIR}/” “${INSTALL_DIR}/”

# Uses the Lipo Tool to merge both binary files (i386 + armv6/armv7) into one Universal final product.

lipo -create “${DEVICE_DIR}/${FMK_NAME}” “${SIMULATOR_DIR}/${FMK_NAME}” -output “${INSTALL_DIR}/${FMK_NAME}”

rm -r “${WRK_DIR}”

open “${INSTALL_DIR}”

Similar Posts

发表评论

邮箱地址不会被公开。 必填项已用*标注