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

头一次搞这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.修改一些配置

  • 设置Build Setting参数将Build Active Architecture only设置为NO
image.png
  • Mach-o type 修改为Static Librayr


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

我是想让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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353