专栏首页macOS 开发学习iKiss - Mac OSX 应用开发历程分享技术正题:

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

iKiss界面

先奉上链接地址:iKiss (一款用于测试HTTP/HTTPS服务器接口的工具)

好久没更新简书内容了,排除个人松懈的因素之外(当然,这点我是不会轻易承认的?),主要是公司最近一个月连续上马两个项目,除了让人无法拒绝又蛋疼不已需求和欲壑难填的产品人员经常挥斥方遒也是造成掉(延)血(期)伤(更)害(新)的罪魁.好了,不多牢骚,这次来分享一下在开发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的问题

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • GitHub 热点速览 Vol.23:前后端最佳实践

    以下内容摘录自微博 @HelloGitHub 的 GitHub Trending,选项标准:新发布 | 实用 | 有趣,根据项目 release 时间分类,发布...

    HelloGitHub
  • 哪些JavaScript IDE最好用?

    阅读本文之前,分享大家一张图片,看图会发现JavaScript开发需求最高,占比达到42.84%,因此掌握JavaScript语言好工作就不愁啦,工欲善其事必先...

    葡萄城控件
  • Mac-OSX的Python3.5虚拟环境下安装Opencv

    Mac-OSX的Python3.5虚拟环境下安装Opencv 1   关键词 关键词:Mac,OSX,Python3.5,Virtualenv,Opencv 2...

    用户1170933
  • Python 在信号处理中的优势

    本篇是对Pylab的小试牛刀,也是对许多其他主题的过渡——包括《编码速度估计的长时间等待的后果》。

    DSPSTACK.COM
  • 基于 hook 和 gmock 开展单元测试

    单元测试又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函...

    腾讯移动品质中心TMQ
  • 2020,建议搞个 Mac 玩玩!

    本文主要记录Mac开发环境的设置,以及一些优秀软件,使用技巧等。所有的设置、软件以及技巧都追求极致简洁和极致效率,最大可能提升工具效率,提升生产力。当然大家如果...

    逆锋起笔
  • SimuLooker 一款用于iOS开发的小工具

    在iOS日常开发中,Xcode的模拟器作为调试App的必备工具,使用频度很高,一些app需要对数据进行持久化,因此就需要经常访问模App内的Doucment,C...

    代码行者
  • OSX SIP机制的“那些事”

    *原创作者:熊猫正正 一、前言 OSX是苹果公司为Mac系列产品开发的专属操作系统,是第一个基于FreeBSD系统采用面向对象操作系统。 从OSX V10.0...

    FB客服
  • git——简易指南

    Git对于我来说,只知道是一个版本控制器,类似于乌龟的svn。其中也仅仅会几个常的命令,比如说“更新git pull”、“提交git push”等等,因为记得当...

    李维亮
  • 做数据分析,Python和R究竟哪个更强?

    几十年来,研究人员和开发人员一直在争论,对于进行数据科学和数据分析,Python和R语言哪个才是更好的选择?近年来,数据科学在生物技术、金融和社交媒体等多个行业...

    CDA数据分析师
  • 黑了记者:写个恶意软件玩玩(一)

    潘多省日报(Pando Daily)的编辑Adam Penenberg最近发表了一篇文章《我让黑客来调查我,他们的发现让我不寒而栗》,讲述了我和我的小伙伴“骚扰...

    FB客服
  • 安全应急响应工具年末大放送

    为了帮助安全分析师更好的完成工作,小编整理了一些现在比较流行的安全应急响应工具和资源,从磁盘镜像创建工具、内存分析工具到内存镜像工具、沙盒/逆向工具等,相信总有...

    FB客服
  • 写在开发iOS应用之后

    最近这段时间在做iOS开发。 我以前做过很多不同类型的软件, 可就是没有做过iOS的, 这其中的原因在于,开发iOS程序必须使用mac电脑, 而我对水果家的电脑...

    用户1608022
  • dotnet core 在 MAC 系统下删除应用程序自己后调 Process Start 方法将会抛出 Win32 异常

    在 MAC 系统下,如果在运行过程中,应用程序的文件被删除了,那么此时如果应用程序执行了 Process.Start 方法时,将会抛出 Win32Excepti...

    林德熙
  • 在MacOSX机器上设置JenkinsCI服务器

    Jenkins Wiki提供了用于Jenkins安装的选项列表,但没有提及Mac OSX。尽管它提到了Docker,但我只听说过有关Docker的好消息。在本文...

    DevOps云学堂
  • 多年经验的大牛总结出来的Python案例超详细

    This batch renames a group of files in a given directory, once you pass the curr...

    QQ1622479435
  • 在Proxmox 6.2 上安装 macOS Big Sur 虚拟机

    问题关键字:macOS,macOS Big Sur,macOS Big Sur 虚拟机安装

    欧巴云
  • 苹果A14T将「打包」自研5纳米GPU,抛弃英特尔后库克又将AMD一脚踢开!

    看到 M1 MacBook Air、 M1 MacBook Pro 和 M1 Mac mini 都采用了 Thunderbolt 3接口,果粉们长舒一口气。

    新智元
  • 盘点互联网巨头奉献的十大开源安全工具

    Facebook等大型互联网公司推动的服务器与数据中心、大数据工具的开源化项目类似,当大型互联网公司们在超大规模基础设施运营方面面临的挑战超出技术厂商的能力时,...

    小莹莹

扫码关注云+社区

领取腾讯云代金券