今天经过半年的自学和研究我的第一个macOS APP处女作上线成功了,是一个值得高兴的时刻,这里就回顾一下遇到的一些问题吧,
- 首先是建议小伙伴们开发macOS项目的时候一定把打好的APP包在一台新的机器上安装测试一下,会发现一些意想不到的问题
我就遇到了这样的问题,我自己开发的电脑上环境都是好的,审核的时候那些人的电脑上就有报错,我的问题是:
- 我的项目有多语言包,项目中需要手动切换当前语言,需要手动调用本地语言包,我设置的默认包名是英语和美国当地获取的包名称不一样,报错了,也是我自己的疏忽吧严谨度不够
- 这个问题还有一个特别之处就是在我电脑上正常,在那边不正常,找问题比较难,走了很多的弯路,希望给我自己和小伙伴们一些新的找bug的思路和方向,少走一些弯路
- 苹果审核回复的报错信息吧
- 错误标题如果这三位
Guideline 2.0
,Guideline 2.1
,Guideline 2.3
,就是说明APP的功能不够完善,我的APP起初是没有注册功能的,因为有手机APP和网页端都有注册功能我想在这里省点事,最后因为这个错误还是没能省事,还是写了注册功能(网上也有人说可以邮件回复说明一下,运气好的话有可能会通过,我没有实际验证过) - 错误标题
Guideline 3.0
的问题就比较严重了,就说明有崩溃或者严重错误,需要重新好好测试,重新打包,这个就是我上面说的那个语言包错误的事 - 错误标题
Guideline 4.0
,这个问题说明APP的设计不够合理,有些苹果官方要求的功能没有,客户端这里说的是主要核心功能的快捷键访问和点击dock栏窗口切换到最前面(包括最小化之后点击dock栏也能恢复,我刚开始是有调整窗口的功能,没有这个功能被拒一回),这个错误也一定要重新打包上传,如果构建版本号没有变化的话,硅谷那帮人看不都看都给你打回来的
- 客户端APP的一些注意事项这里单独列一下吧
- 顶部menu栏的相关功能一定要实现那些必要的功能,特别是window那一栏
- 底部dock栏的点击功能包含:
- 点击窗口关闭按钮❎之后热启动
- 点击最小化窗口之后恢复窗口
- (BOOL)applicationShouldHandleReopen:(NSApplication *)sender hasVisibleWindows:(BOOL)flag {
[_window deminiaturize:nil];
return NO;
}
经过测试发现恢复窗口的这个方法能实现上面的那两个功能,本来我是加了判断,写了两个方法的
- 有登录功能就建议有注册功能,这个和iOS一样
简单记录一下,从零开始纯代码编写到上线太不容易了
网友评论