Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何显示我的应用程序不是键盘记录器?_Macos_Cocoa_Security_Software Distribution - Fatal编程技术网

Macos 如何显示我的应用程序不是键盘记录器?

Macos 如何显示我的应用程序不是键盘记录器?,macos,cocoa,security,software-distribution,Macos,Cocoa,Security,Software Distribution,我已经创建了一个简单的Mac应用程序,它可以为你提供一段时间内工作行为的统计数据。例如,您每分钟的平均字数、您正在键入的语言、删除键的使用情况等等。有趣的东西!然而,一些测试用户表示,如果他们不认识我个人,他们就不会使用该应用程序,因为它像键盘记录器一样收集击键 我能得到什么证明来证明我没有做任何邪恶的事吗?(我从来不会在内存中保存超过一个单词!)或者让我的应用程序签名就足够了吗?还是开源的那部分代码?(其他部分我知道我无法开源。)通过Mac应用商店分发会有所帮助,因为用户可以看到苹果已经试用了

我已经创建了一个简单的Mac应用程序,它可以为你提供一段时间内工作行为的统计数据。例如,您每分钟的平均字数、您正在键入的语言、删除键的使用情况等等。有趣的东西!然而,一些测试用户表示,如果他们不认识我个人,他们就不会使用该应用程序,因为它像键盘记录器一样收集击键


我能得到什么证明来证明我没有做任何邪恶的事吗?(我从来不会在内存中保存超过一个单词!)或者让我的应用程序签名就足够了吗?还是开源的那部分代码?(其他部分我知道我无法开源。)

通过Mac应用商店分发会有所帮助,因为用户可以看到苹果已经试用了你的应用程序,但没有发现任何恶意。[新增:]此外,沙箱化你的应用程序意味着你的应用程序仅限于一组明确的功能,技术熟练的用户可以检查这些功能。任何未列出的内容,您都无法执行,因此这将是证明您没有通过互联网发送任何内容的简单方法

另一件事是将所有数据保存在用户可读的文件中。没有二进制plist,没有核心数据存储,等等(这两种类型的XML变体是否应被视为用户可读将更具争议性,但出于这个目的,我认为至少一个XML plist足够可读。不确定核心数据)

如果用户可以使用他们信任的应用程序(如TextEdit)读取您存储的所有原始数据,而不仅仅是您通常喜欢的应用程序内演示,那么他们可以检查自己,并最终相信您没有存储他们不希望您存储的任何内容

如果任何相关的潜在用户向您发送电子邮件,询问您是否通过互联网向自己的服务器报告了他们的击键情况,并且假设您根本没有进行任何互联网连接(甚至没有进行更新检查),您可以建议他们安装,任何应用尝试连接到某个东西时,都会弹出确认警报。当他们没有看到关于你的应用程序的警告时,他们知道你不是在给家里打电话


您还可以在产品网页上添加指向技术配置文件的链接,而且。

如果你能在苹果的应用商店上安装该应用程序,那就意味着他们已经检查过该应用程序是否存在此类问题。他们不可能在那里故意允许密钥记录应用程序。此外,使用苹果证书对应用程序进行签名可以确保,如果应用程序是从应用程序商店下载的,并且后来被发现是邪恶的,他们可以将其列入黑名单


开源代码也是一个好主意。我想你不能全部开源,因为它不属于你?如果是这样的话,那么请明确说明它使用了什么技术,并对应用程序的功能以及如何使用它保持开放和诚实。

我认为对于大多数用户来说,把关人是足够的。如果发现某个应用程序做了坏事,那么苹果可能会拔掉恶意软件开发人员的插头。因此,也许在“实时”的某个时候,对于那些没有技术倾向的人(例如,无法理解您的源代码)来说,您的程序应该是“安全的”


只要以你或你公司的名义分发,就可以在应用程序中建立信任(当然前提是你的其他产品/程序没有违反用户的信任)。

签名只是表示第三方收到了一些钱,可以说可执行文件通过了你的手(即,实体“Stan James”已开具账单,且签署软件的实体“Stan James”可能是同一实体,从而使您丢失了密钥)。如果人们不信任你,说软件来自你并没有真正的帮助。+1建议不要上网。在Android上,不请求安装许可就可以证明没有互联网连接。很遗憾在iOS上没有类似的东西。@Steve:问题是关于OS X,在w上这将有可能成为一名(技术熟练程度足够高的)用户检查沙盒应用程序的授权列表,发现它没有授权自己成为网络服务器或客户端。这里可能有一个机会为该信息提供一个更用户友好的界面。苹果的文档没有直接解决这个问题,但我认为沙盒应用程序无法捕获k来自其他应用程序的eypress事件。文档很清楚,你可以将事件发送到其他应用程序,因此我很确定你无法捕获它们。我喜欢将相关用户引导到小告密者的想法。