记录Hbuilder项目使用xcode离线打包上传苹果商店踩过的坑
摸索一周 加上大神帮助 总算使用个人开发者账号xcode成功离线打包
欢迎指导里面的错误
搞到证书和描述文件后
参照 iOS创建最精简离线打包工程地址进行操作
ios创建最精简离线打包工程
注意事项
1 参考 注意事项 里面文件的颜色 分清是拷贝还是路径如没有交代就是使用 创建组
2 一定要使用最新版本sdk 新版老版SDK不能混用 否则有可能编译失败 出现如图问题 SDK下载地址
3 plist文件内需要注意的两个配置 (这里是我遇到打包成功安装后无法进入login页面闪退掉)
4 有价值的打包上线友情链接
1 打开Xcode,创建新工程,选择“Single View Application”
如果打开xcode没反应 则这样操作出现xcode界面
2 添加创建工程的名称(注意:最好不要填中文或特殊字符)
3 复制HBuilder-Hello工程的delegate和Controller文件覆盖新创建工程的相应文件
4 拷贝以下文件到新创建工程目录下
- iOS-SDK/SDK/Bundles/PandoraApi.bundle
- iOS-SDK/SDK/control.xml
- iOS-SDK/SDK/Libs/libcoreSupport.a
- iOS-SDK/SDK/Libs/liblibPDRCore.a
- iOS-SDK/SDK/Libs/liblibUI.a
5 添加刚才拷贝的文件到工程内
6 拷贝IOS-SDK/SDK/inc目录到新创建工程目录下,并添加到工程内
7 点击Project->TARGETS->Build Settings搜索“Other Linker Flags”,双击搜索到的项双击,在弹出框内添加想“-ObjC”
8 点击Projcet->General->Linked Frameworks and Libraries 添加系统库到工程
系统库
- JavaScriptCore.framework
- WebKit.framework
- CoreTelephony.framework
- MobileCoreServices.framework
- SystemConfiguration.framework
- MediaPlayer.framework
- AudioToolbox.framework
- Security.framework
- QuartzCore.framework
- CFNetwork.framework
- Foundation.framework
- CoreFoundation.framework
- CoreGraphics.framework
- UIKit.framework
- libstdc++.6.tbd
- libxml2.tbd
- libz.tbd
- libsqlite3.0.tbd
- ImageIO.framework
- CoreText.framework
9 点击Project->TARGETS->Build Settings搜索“ARC”,修改”Objective-C Automatic Reference Counting”项的值为”NO”, 如果希望使用ARC则需要修改相应的内存管理代码。
10 修改头文件搜索路径
点击Project->TARGETS->Build Settings搜索”Header Search Paths”,
双击搜索到的”Header Search Paths”项,将工程目录下的inc目录拖到打开的下拉框
11 修改静态库搜索路径
点击Project->TARGETS->Build Settings搜索”Library Search Paths”,
如果”Library Search Paths”项下有值则不需要处理,
如果没有值则双击搜索到的”Library Search Paths”项,将工程目录下的libs目录(静态库所在目录)拖到打开的下拉框
12 修改BitCode
点击Project->TARGETS->Build Settings搜索BitCode
将Enable Bitcode项的值改成 ‘NO’
13 添加Web应用到工程
在工程目录下创建目录”Pandora->apps->[APPID]->www“目录,并将Web应用拷贝到www目录下
APPID为要加入到工程应用mainfest.json文件
添加Pandora目录到工程中
添加后会弹出选择类型框,选择”Create Folder References“
添加后工程内的Pandora目录为蓝色
14 修改control.xml文件
修改control.xml文件的appid节点值为mainfest.json文件的id节点下内容,appver节点内容修改为manifest.json文件的version->name节点下内容
如以上三图红圈标记位置都要一致
15 设置应用的图标
点击project->target->General->App Icons and Launch Images->App Icons Source项右侧小箭头
在新开页面根据提示将对应尺寸的应用图标拖入到虚线框中即可
使用图片大小参照这个
iOS 5,6
base: 29pt, 需要 @1x, @2x, @3x,得出:29 x 29, 58 x 58, 87 x 87
iOS 7,8
base: 40pt, 需要 @2x, @3x,得出:80 x 80, 120 x 120
iPhone App
iOS 5,6
base: 57pt,需要 @1x, @2x, 得出:57 x 57, 114 x 114
iOS 7,8
base: 60pt,需要 @2x, @3x,得出:120 x 120, 180 x 180
16 设置应用的splash图片
拷贝HBuider-Hello工程的info.plist文件的UILaunchImages节点到新工程info.plist文件
,同时拷贝HBuilder-Hello工程下的splash目录到新工程目录下并将其添加到新工程中
根据图片的尺寸逐个替换splash图片,注意文件名不能修改
17 设置应用显示的应用名
点击project->target->General->Identity->Display Name修改应用的显示名称
18 修改info.plist文件,添加App Transport Security Settings类型为Dictionary,在该项下添加Allow Arbitrary Loads项类型为Boolean,值为YES
这一步一般无需操作
19 然后检查这里是否是自己想填入的信息
20然后编译运行
21也可以直接打包上传到appstore
IOS 10 需要在info.plist文件中添加隐私权限配置
运行时如果提示“打包时未添加XXX模块”,请参考SDK/Feature-ios.xls文件,查找对应插件名需要引入的5+库文件和系统库文件,添加到工程即可
这里就是把.a文件复制到项目目录lib目录下再把lib重新创建组方式放入项目中 还有参照第8步那样导入需要的work
其他上传appstore可参考地址
参考打包
http://ask.dcloud.net.cn/article/941
http://www.applicationloader.net/blog/zh/72.html
http://www.cocoachina.com/ios/20170623/19623.html
http://blog.csdn.net/xxw888/article/details/73618837
这里是上传appstore
http://www.jianshu.com/p/996672107eb1
http://yiweifen.com/v-1-47295.html