前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iKiss - Mac OSX 应用开发历程分享技术正题:

iKiss - Mac OSX 应用开发历程分享技术正题:

作者头像
代码行者
发布2018-08-23 11:17:32
8170
发布2018-08-23 11:17:32
举报
文章被收录于专栏:macOS 开发学习

iKiss界面

好久没更新简书内容了,排除个人松懈的因素之外(当然,这点我是不会轻易承认的?),主要是公司最近一个月连续上马两个项目,除了让人无法拒绝又蛋疼不已需求和欲壑难填的产品人员经常挥斥方遒也是造成掉(延)血(期)伤(更)害(新)的罪魁.好了,不多牢骚,这次来分享一下在开发Mac OSX APP中的技术和非技术的体会,为了不耽误大家的宝贵时间,先列个题目大纲,然后各位挑重点就好了.

技术方面:

1. Mac OSX下的沙盒限制 2. AFNetworking的自签名HTTPS证书设置 3.NSPasteboard 系统剪切板的使用注意

非技术方面

1.获取AppIcon的常用途径 2.如何进行App 测试 3. 推广App的问题

技术正题:

1. Mac OSX 下的沙盒限制

Mac OSX的沙盒是从iOS中借鉴过来的,但又有所不同,而且,OSX下,一款应用是否启用沙盒是可选的,选择的唯一标准就是将来你的这个App是否需要上架Mac OSX App store , 在用Xcode打包上传时,会提示你进行选择,具体的操作入下图:

App Sandbox

选择App Sandbox后,设置为ON,系统会在项目的工程目录中生成一个 项目名.entitlements文件

entitlements文件

完成这个沙盒设置后,你的App访问的所有资源都将受到限制,这里与iOS不同的是,默认情况下iOS是不需要在这里设置网络权限的,但OSX下,如果你需要进网络访问(例如你试用AFN进行网络请求),请记得勾选网络设置:

网络请求的沙盒设置

具体选client还是server要根据你的App功能来确定了,这个就不多说了.

如果你设置后依然无法正常访问网络,可能还需要在Info.plist设置一下ATS:

ATS设置

当然,沙盒不仅仅限制网络通信,如果你要对本地文件系统进行访问,也需要在沙盒里进行设置,否则将无法进行访问对应的资源:

File Access

2 . AFNetworking的自签名HTTPS证书

这个网络上讲的很多,就不啰嗦了,直接上代码:(注意点是要将服务器给的证书转为cer格式)

设置自签名的HTTPS证书

通常自定义HTTPS签名证书时,服务器端往往会生成两个文件(server.crt,client.crt),要注意,客户端需使用的是服务器端的server.crt转换后的cer文件

3. NSPasteboard 系统剪切板使用注意

在iKiss的开发中,用到了将系统剪切板中的内容复制到对应的文本框中,这样可以节省用户输入麻烦操作,点一下粘贴按钮就完成了.

粘贴剪切板中的内容

这里的注意点是,系统的剪切板中的内容可能是不同的数据类型(图片,文件,字符串等),因此在获取剪切板内容是,需要进行一下过滤,如果当前剪切板中的内容不是我们需要,那么就忽略,防止造成数据获取错误,苹果提供了常用的类型常量供我们进行判别时使用:

系统提供的选项

简单示例代码如下:

实例代码

非技术话题:

1. 获取AppIcon的常用途径

这里主要是针对个人开发来说(如果是公司团队,直接找UI就可以了),就我个人的情况说,比较推荐的是阿里图库iconfont,我个人的上架应用XCRegex 和 JProperty 以及现在的iKiss 基本都是从这里找到的(如果图片侵权还望作者告知).

iKiss还在测试阶段,后期也功能稳定也考虑上架Mac OSX App Store,现在是免费内测哦,希望大家多提问题.

另外,如果你精通PS或者熟悉Sketch,那自己动手定制也是非常不错的体验.

关于AppIcon方面基本都是八仙过海,挑喜欢的就好了.

2.如果进行App 测试

一个App的测试阶段还是比较重要的,但对于个人开发的作品,没有公司专业的测试团队支持怎么办?怎么办?怎么办?

一句话: 发动群众 

让群众知道的途径: 1.朋友圈 2.技术群.3.平台发文(微博啊,简书啊以及其他你常去的平台或论坛)

因为App还没上架,所以你的提供测试链接可用HockeyApp生成.

3. 推广App的问题

普通来说,技术开发一定就宅或者内向,但从运营的角度看问题,技术人员还是有很大的短板的,关于这方面我也常常困惑,感觉在各个朋友圈或者技术群里推的话,跟生活中到处贴小广告差不多,我又比较爱惜羽翼,只好在自己的技术文章里打打广告,慢慢积累吧.

如果你有好的建议,请留言或评论,让更多有这方面帮助的朋友也可以看到~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.05.31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 技术正题:
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档