iOS (oc)

iOS SDK开发,调试,真机,模拟器打包注意

2019-08-01  本文已影响0人  择一城终老_蜗牛

头一次搞这SDK开发,有点头大,只能一步一步摸着石头过河了~

剑来镇压图

剑来

一、创建一个workspace + SDK project

1.先在桌面创建一个文件夹--->YjcSDK


WeChat748916a50cd2b4ebe253dcd2f1ba6176.png

2.创建一个workspace项目 到 文件夹--->YjcSDK

image.png

3,创建project 选择 Cocoa Touch FranmeWork


image.png
image.png

注意: Add to 需要 换成刚刚创建的 workSpace

image.png
SDK创建OK
image.png
4,SDK 添加代码 我这里添加一个View
image.png

5.修改一些配置

image.png

我是想让SDK YjcView.h文件 可以被访问,所以需要将其添加到 public
拖拽.h文件到 public

image.png

6.在YjcSDK.h 中将所有要公开的.h引入


image.png

7.脚本导出 framwork 创建一个Aggregare
必需得先点击targets


image.png
image.png
image.png image.png

接下来将一段代码 复制

#**************************************************************************************************************
# 增加这个Target,并使用脚本编译,主要是为了制作支持模拟器的framework, 该Target编译生成的是生产版本,编译输出的framework保存在
# 工程文档所在目录的Products子目录中,输出包括两个,一个是支持模拟器的版本,另一个是用于上传到App Store的版本,之所以要单独制作一
# 个用于上传App Store的版本,是因为支持模拟器的版本包括x86_64及i386框架,上传App Store时不被苹果允许
#**************************************************************************************************************

# 如果工程名称和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_AppStore=${SRCROOT}/Products/AppStore发布版本/${FMK_NAME}.framework
INSTALL_DIR_Simulator=${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

#将编译生成的framework拷贝到Products目录
#先拷贝正常的,用于发布到App Store的版本
# Cleaning the oldest.
if [ -d "${INSTALL_DIR_AppStore}" ]
then
rm -rf "${INSTALL_DIR_AppStore}"
fi
cp -R "${DEVICE_DIR}" "${INSTALL_DIR_AppStore}"

xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphonesimulator clean build
#然后制作支持模拟器的能用版本
if [ -d "${INSTALL_DIR_Simulator}" ]
then
rm -rf "${INSTALL_DIR_Simulator}"
fi
cp -R "${SIMULATOR_DIR}" "${INSTALL_DIR_Simulator}"
lipo -create "${INSTALL_DIR_AppStore}/${FMK_NAME}" "${SIMULATOR_DIR}/${FMK_NAME}" -output "${INSTALL_DIR_Simulator}/${FMK_NAME}"

#删除临时编译目录
rm -r "${WRK_DIR}"

#打开输入文件夹
open "${SRCROOT}/Products"

#结束

image.png

8.选择 MySDK command + B 编译,导出framwork


image.png

会报错的,因为有两个路径不对 不存在


image.png

这是因为在添加 脚本代码的时候 没有如图存在的两个路径


image.png

所以需要添加几个文件夹,(名字一段要和脚本代码里面的对应好)


image.png

重新 command + B 编译:(编译一定要选对)


image.png

成功之后 会自动弹出


image.png
注意:此处为什么是 分为不同版本:
# 增加这个Target,并使用脚本编译,主要是为了制作支持模拟器的framework, 该Target编译生成的是生产版本,编译输出的framework保存在
# 工程文档所在目录的Products子目录中,输出包括两个,一个是支持模拟器的版本,另一个是用于上传到App Store的版本,之所以要单独制作一
# 个用于上传App Store的版本,是因为支持模拟器的版本包括x86_64及i386框架,上传App Store时不被苹果允许

至此 简易的SDK 是做成功了

二,如何使用SDK

1.创建一个demo,

image.png
2.将之前 打包出来的 framework 拖到项目中:(我用模拟器)
image.png
3.导入SDK 头文件 在ViewController中添加SDK中的YjcView
image.png

4.最终展示


image.png

3.调试

我如果想更换颜色,是不是还得 改变颜色 然后再打包 拖入?(tei麻烦了)

1.将之前的framework 删掉


image.png image.png image.png

2.我将颜色 直接改为 黄色 (先不要急着运行,先clear 一遍),结果颜色 还是没变


image.png

(尴尬的一匹~)

image.png

这里是没有静态库的 所以!

image.png image.png

OK


image.png

至此 调试就OK了

但是: 上架的时候,肯定要的是framework ,所以需要删除 如图以下的project,我点击右键 delete 然后 Move to trash 导致SDK 中 project给没了!!!没了!!没了!
一身冷汗~ 注意了 我是这样做的,remove reference 删除引用 而不是放到废纸篓........

image.png
image.png

4,打包上架App

记得SDK 需要切换到


image.png
上一篇 下一篇

猜你喜欢

热点阅读