我已经阅读了几篇关于此的文章,我只是想看看我是否理解这一点:
如果您使用私有API,Apple将拒绝您的应用...
"私有API"和"非私有API"之间的主要区别是什么?
"非私有"API是否仅由Apple提供和验证的API?
API不仅仅是一种与Framework交互的方式,而Framework只是一组人们可以用于琐碎目的的封装类/头文件吗?
这不意味着我不能在我的应用程序中重复使用任何人的代码(Apple除外)吗?
如果这是真的,那么每当程序员制作他或她自己的自定义类和方法时,他是否只是为了他的特定目的而在技术上设计一个迷你框架?那么这不意味着他正在使用自己的私有API吗?
使用别人的类/方法和我的类/方法之间的区别甚至是什么,他们怎么能分辨出差异,为什么这会成为一个问题呢?
我对此的理解听起来很荒谬,并且不相信我理解"私有API"是正确的.我确实读到它是为了防止API中的任何更改可能导致您的应用程序功能失常.这是否意味着API在运行时链接(与编译时相反),并且可以在您不知情的情况下自动更新?(看,我最初认为API /框架在你编译的时候就是一成不变的,也许这就是我错的地方)
有人可以帮帮我吗?我对这个政策感到很困惑.谢谢!
我正在创建一个使用远程数据库,会话(登录/注册),服务器端代码和推送通知的iOS应用程序.
我发现这个名为Parse的 SDK 可以处理托管,数据库,云代码,推送通知,会话等所有服务器...(所以我需要做的一切)
Parse SDK是否值得使用(成本方面)?
这些是旧计划......
如果超过100万个请求/月,你认为它会收回成本吗?我必须支付199美元/月的版本?如果我计划通过广告使用我的应用赚钱怎么办?它会赚到足够的收入吗?
假设每个人每天访问数据库5次,即每月150次,这意味着我需要6666人才能升级.平均而言,如果我有很多人每天查看广告,广告是否会支付199美元/月的费用?(另外,考虑到Parse负责安全性,服务器成本和维护)
另一件需要考虑的事情是,创建(和维护)是多么困难/昂贵:
使用Parse时,稳健性,安全性和易维护性是否有助于收回成本?
谢谢!
从我读到和听说过的有关 Docker 的所有内容来看,它的全部意义就是封装应用程序,以便它可以在任何计算机上运行。它通过将所需的环境(工具/依赖项)包装到 docker 镜像中来实现这一点。容器是图像的一个实例。Docker 容器中没有运行操作系统。
现在,如果这都是真的,那么为什么会存在这个:CentOS 官方 docker 镜像?我认为 docker 镜像仅适用于应用程序,而不是整个操作系统。
每当我实例化该映像时,我都会得到一个容器,当连接到该容器时,它看起来像是一个正在运行的 CentOS shell。
你可以自己做一下看看我的意思:
FROM centos:centos7
docker build centos-img .
docker run -ti centos-img
ctrl+p, ctrl+q
docker attach <container id>
这看起来和感觉起来确实像一个虚拟机。
如果我运行cat /etc/os-release
它甚至会说我正在运行 CentOS。
这到底是什么?我可以像使用虚拟机一样使用 CentOS docker 映像吗?有什么限制?
(然而,令我困惑的是docker containers != VMs
,通过探索,我创建了一个看起来和感觉都像虚拟机的 docker 镜像。如果我可以运行一个与虚拟机完全一样的轻量级 docker 镜像,为什么我还想再次运行虚拟机呢? ?)
这个 centOS docker 镜像只是一个起点,我应该构建它(即放入我的应用程序),以便它只是作为我的应用程序的主机?我阅读和深入研究 Dockerfile 示例越多,我就越相信这个假设是正确的。
我真正想做的事情:
我有一堆小型应用程序/服务,它们一起作为一个系统运行,构成一个大型应用程序。我目前在 centOS 机器上运行这个系统。我希望能够轻松运行这个大型应用程序的多个实例,每个实例都在自己的环境中/而不需要踩到彼此的脚趾。是否可以通过使用 a 来做到这一点centOS docker image + all of the …
在我的unwind segue的unwind动作方法中,我将数据发送到远程数据库,并验证信息是否已成功存储在数据库中.
我计划让我的验证函数返回0或1,表示成功或失败,我打算将其作为条件使用.
我很好奇是否有办法在unwind动作方法中取消unwind segue?(或者我应该在展开segue开始之前进行此验证并防止unwind segue甚至以某种方式开始?)
我已经读过ios segue"取消",但我不知道他们说要覆盖的意思是什么
-[UIViewController shouldPerformSegueWithIdentifier:sender:]
Run Code Online (Sandbox Code Playgroud)
方法.我只是制作我自己的这个方法的自定义版本(见下文)并在unwind动作方法中调用它,并根据我的条件使它返回no/yes?我尝试用以下方法覆盖该方法:
- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
if (database verification fails) {
return NO;
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
我在我的展开动作方法中调用它,但它没有取消展开segue.
我做错了什么,还是有另一种方法可以在unwind动作方法中中止unwind segue?
我是iOS新手,所以如果这个问题听起来很傻,我很抱歉.谢谢你的帮助!
所以我故意试图打破我的计划,我成功了.
在我已经创建连接之后,我删除了程序使用的sqlite数据库,而程序正在运行.然后我尝试更新数据库,如下所示.
Statement stmt;
try
{
stmt = Foo.con.createStatement();
stmt.executeUpdate("INSERT INTO "+table+" VALUES (\'" + itemToAdd + "\')");
}
catch(SQLException e)
{
System.out.println("Error: " + e.toString());
}
Run Code Online (Sandbox Code Playgroud)
问题是,它没有捕获异常,并继续运行,好像数据库已成功更新.同时数据库甚至不存在,因为这是在我删除它之后.
谢谢.