• 【iOS开发笔记26/50】我自己写的苹果应用程序XQViewer终于上架了,解决了一系列的问题,终于挺过来了


    我自己写的苹果应用程序终于上架了,朋友们多多支持啊!
    (2012年12月,由于苹果开发账号已经过期了,产品下架了)
     

    XQViewer

     

     

    XQViewer二维码  用iPhone或iPad扫描该二维码可直接安装XQViewer应用。

    一款中国象棋棋谱浏览程序,当前只支持PGN格式文件的播放,系统内置了2012和2011年全国象棋甲级联赛的棋谱文件,以后再陆续更新更多的棋谱文件。

    版本V1.0功能说明:
    1)识别PGN格式的棋谱,当前还不支持注释
    2)点击棋盘右下部分,下一步
    3)点击棋盘左下部分,前一步
    4)点击棋盘右上部分,最后一步
    5)点击棋盘左上部分,第一步
    6)在棋盘正上方显示当前一个回合的棋谱

     

    程序虽小,但从2011年7月开始接触iOS编程,一路上全是新的问题,或是问人或是从网上查找解决方案,用GTD的思想分解出了如下的细小的步骤不断执行才能将此小程序发布:

    • 在Windows里装VMWare虚拟MAC操作系统,安装xcode开发工具,忍受了慢速和不稳定的折磨
    • 学习iPhone上界面开发指南,原来iPhone上各种元素都有严格的规范,不是随便设计的
    • 从苹果商店里查找类似的软件,看看别人写的软件的界面和功能,思考自己的软件原型
    • 在xcode里配置SVN
    • 学习xcode集成开发环境的功能,学习快捷键
    • 解决TableView翻页时崩溃的问题
    • 申请苹果开发者账号
    • 设计软件原型,在后面的真机试用后,再不断地修改和调整,特别是导航、图片和按钮的放置等设计
    • 写出一大堆的需求了,分出了V1的最小需求集合,其它放在V2和以后实现,不然永远发布不了
    • 解析PGN格式的棋谱,要把中文纵列方式的棋谱转换为坐标方式的格式,象的移动、兵的前中后的复杂情况解析起来都需要仔细的处理
    • 把文件从资源包中解开放到Document文件夹中
    • 学习动画编程,这个程序里只用了简单的动画,把一个图片从一个位置搬到别外一个位置
    • 学习UIImageView的编程
    • 学习NSZombieEnabled技巧,都是内存管理惹的祸
    • 试验在xcode中开发静态库的办法,但在最后的发布时还是遇到了问题,最后还是用了一个xcode工程的办法来制作的安装包
    • 学习手势编程,这里只用了简单的tap手势,但还是对原有的文本框中的事件造成了干扰,解决这个问题也费了一番功夫
    • 解决内存泄漏的问题,之前还是用的xcode3.2.5,还没有ARC,内存管理还是相当的麻烦
    • 从xcode3升级到xcode4之后,功能发生巨大变化,花了不少时间学习。其中遇到过Universal程序显示不出来主窗口的问题
    • 学习loadView和viewDidLoad的区别
    • 编写FEN代码初始化盘面的代码
    • 学习TableView的编程,里面显示所有赛事的列表
    • 学习iOS里的init方法编写注意事项
    • 学习xcode里的单元测试的办法
    • 从Windows上收集一堆PGN高手对战的棋谱
    • 解决导航栏的顶端的Back显示不出来的问题
    • 委托他人制作软件的图标、棋盘和棋子的图片
    • 问有软件发布经验的朋友,提前准备软件发布要注意的事项
    • 在真机上测试,看看操作起来的方便程度,运行时有电话打进来时有没有问题
    • 用sszip解压缩一堆PGN文件到Document目录中
    • 解析PGN里的评注,还未写好,在V1版本里暂时没有加上此功能。
    • 加上launch Image
    • 查了查adMob的资料,最后锁定用iAD
    • 学习iAD的编程技术,一开始加上广告还是需要费上几天功夫的
    • 看在线购买的编程指南,准备在V2里实现
    • 棋子的位置并没有准确地落在交叉点上,还是需要微调的
    • 发布前用真机对功能进行大量的点击测试
    • 提交到苹果商店,在打包程序时,开发证书就折腾2天,review的过程至少要1周多,打回来后修改再提交,再等待,前前后后又1个月

     

     

     

     

     

  • 相关阅读:
    CMake 用法导览
    Irrlicht 1.8.4 + Win7 + VC2015 + x64 +OpenGL编译
    VirtualBox 5.1.14 获取VirtualBox COM对象错误
    CGAL Manual/tutorial_hello_world.html
    CGAL 介绍
    Open CASCADE 基础类(Foundation Classes)
    OpenCASCADE 基础
    Nginx 反向代理详解
    修改docker容器中的hosts文件
    Jmeter 设置连接oracle数据库
  • 原文地址:https://www.cnblogs.com/speeding/p/2592138.html
Copyright © 2020-2023  润新知