Articles of iOS

用于iOS / Android应用程序通信的基于TCP的RPC服务器(Erlang或类似的东西?)

我正在iOS和Android中构建本机移动应用程序。 这些应用程序需要与服务器进行“实时”更新,与任何其他基于网络的应用程序一样(Facebook,Twitter,社交游戏,如Words with Friends等) 我认为使用HTTP长轮询是因为长轮询可能对电池寿命有害,尤其是在大量TCP设置/拆除时。 让移动应用程序使用持久性TCP套接字建立与服务器的连接,并将RPC样式命令发送到服务器以进行所有Web服务通信可能是有意义的。 当然,这需要服务器处理长期存在的TCP连接,并且一旦理解了传递到TCP管道的数据,就能够与Web服务通信。 我正在考虑使用JSON或XML以纯文本格式传递数据。 也许基于Erlang的RPC服务器可以很好地用于这样的基于网络的应用程序。 这将允许移动应用程序通过一个连接从服务器发送和接收数据,而无需多个设置/拆卸,单个HTTP请求将使用类似iOS上的NSURLConnection。 由于不涉及Web浏览器,因此我们无需在移动客户端级别处理HTTP的细微差别。 很多这些“COMET”和长轮询/流媒体服务器都是基于HTTP构建的。 我认为只使用TCP上的纯文本协议就足够了,可以使客户端更具响应性,允许从服务器接收更新,并通过传统的长轮询和流模型保持电池寿命。 目前是否有人使用其原生iOS或Android应用程序执行此操作? 您是否编写了自己的服务器,或者是否有一些开源的东西,我今天可以开始使用而不是重新发明轮子? 有没有理由为什么只使用基于TCP的RPC服务比使用HTTP更糟糕? 我还研究了HTTP流水线技术,但在客户端实现它时看起来并不值得。 此外,我不确定它是否允许在客户端服务器通信通道中进行双向通信。 任何见解将不胜感激。

PKCS1-padding / RSA加密ios objc和java之间的区别

我正在为ios和Android开发应用程序。 我对加密任务比较陌生,在过去的3天里,我不停地撞墙,因为我无法运行RSA加密。 两个客户端都从Java服务器接收公钥。 在android我有(显然,因为它几乎与服务器端的代码相同)没有麻烦,但ios部分似乎根本不兼容。 我想用公钥加密一小段数据(aes密钥),这就是我在Java中的做法: try { String publickey = “MCwwDQYJKoZIhvcNAQEBBQADGwAwGAIRAK+dBpbOKw+1VKMWoFxjU6UCAwEAAQ==”; byte[] bArr = Crypto.base64Decode(publicKey, false); KeyFactory keyFactory = KeyFactory.getInstance(“RSA”, “BC”); EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(publicKey); PublicKey publicKey = keyFactory.generatePublic(publicKeySpec); Cipher cipher = Cipher.getInstance(“RSA/NONE/PKCS1Padding”, “BC”); cipher.init(1,publicKey); int cipherBlockSize = cipher.getBlockSize(); ByteArrayOutputStream bArrOut = new ByteArrayOutputStream(); bArrOut.flush(); int pos = 0; Log.i(“ContentBufferLength”, contentBuffer.length+””); while (true) { […]

为iOS和Android编译C ++代码(XCode)。 这是真的吗?

我想尝试编写和编译iOS和Android设备的C ++代码。 我已经使用XCode一段时间了(我正在为MacOS和Windows编写c ++代码)。 所以我想将XCode用于我的目的。 问题是我不知道如何为Android设备和iPad / IPhone编译C ++代码。 我想在iOS和Android上使用crossplatform-solution,但不想使用Marmalade(c ++)或其他类似的框架。 这是真的吗? :)是否有教程或其他有用的材料?

Xamarin iOS和Android如何运作?

我试着了解Xamarin.iOS(MonoTouch)和Xamarin.Android(Android的Mono)是如何工作的。 我写了一个小应用程序并查看了.app和.apk文件。 .app文件(iOS)内部有许多.dll文件。 但为什么? 在我阅读的每一页和post上,他们都会说:App是原生的,没有任何解释。 有人可以向我解释一下xamarin开发人员对“原生”的意思吗? .apk文件内部不是单个.dll文件..

将iOS和Android客户端连接到SockJS后端

我正在使用Spring WebSockets开发WebSocket消息传递后端,它使用SockJS + STOMP协议。 不使用普通WebSockets的原因是因为我需要利用SockJS在Spring WebSockets中提供的安全集成以及SockJS的其他整洁function,例如房间,订阅等。我想知道这是否是一个很好的选择这样移动(iOS和Android)和Web客户端应用程序可以轻松连接到后端服务器并执行消息传递。 如果是,那么我可以使用哪些库用于iOS和Android。 在SockJS GitHub页面上,他们还列出了可用的客户端库,但没有iOS和Android。 所以,我想知道SockJS是否因此而值得使用。 我发现对于iOS客户端Primus-Objc ( GitHub页面 )库声称它们可以连接到native WebSockets, Socket.IO, SockJS or perhaps engine.io. 这是一个真实的陈述吗? 如果那是真的那么事件,那个图书馆的质量怎么样? 事件如果可以在后面使用SockJS,那么是否也可以显示iOS和Android的示例代码,以便我可以在移动设备上执行概念validation? 如果SockJS对我来说不是一个好选择,那么用Socket.io + Node.js(使用JavaScript)构建我的消息传递应用程序会更好吗? 在我看来,Socket.io有所有需要的iOS客户端库( Socket.IO的官方库 )和Android( Socket.IO的官方库 )。 另一种选择可以是使用Netty-Socket.io库并手动构建每个端点,而无需Spring Framework(我正在考虑使用)的任何帮助,但是我必须解决的是小问题,即安全问题。 实际上有人已经尝试过这样做 ( 同一位作者在Netty-Socket.IO Github官方网页上提问 )但看起来他还没有运气解决它。

在phonegap中播放本地声音

我的www文件夹中有一个.wav文件。 我使用jQuery与以下代码。 警报响起但声音没有播放。 难道我做错了什么? $(document).ready(function () { window.alert(“READY!”); document.addEventListener(“deviceready”, onDeviceReady, true); function onDeviceReady(){ window.alert(“OK@!”); var snd = new Media(“test.wav”); snd.play(); } }); 声音不起作用。

如何在android中的webview中调试javascript

我有一个在iOS上运行良好的webview,但不适用于Android。 有没有一个工具可以在浏览器中连接到Android webview并使用firefox或webkit控制台进行调试? 目前我不知道是什么导致webview无法在Android中运行。 在iOS中,我可以打开我的iPad或iPhone模拟器,打开webview窗格,在我的桌面浏览器中,我听到端口9999,它向我展示了你在webkit开发人员工具/调试工具中看到的工具。 我正在寻找Android的类似工具,或者至少让我开始调试。

socket.io – ReferenceError:未定义io

我正在为Android 2.3.5编写一个应用程序(也将与iOS兼容)。 我希望将数据从应用程序的HTML / Javascript传输到服务器上的Python程序(使用Twisted引擎来检索数据)。 我尝试了很多东西,看了各种论坛,答案,教程和网页 – 其中大部分都在这里 – 并且找不到答案。 这是我在index.html文件中的相关Javascript: function sendData() { try { var socket = io.connect(‘http://mywebsite.com:12345’); socket.on(‘connect’, function(data) { socket.send(‘Hello.’); socket.on(‘message’, function (msg) { socket.send(‘This is where I send data?’); }); }); } catch(err) { alert(‘ERROR: socket.io encountered a problem:\n\n’ + err); } } // end of sendData 如果你不能说,我仍然很困惑这是如何工作的; 我甚至无法测试任何东西。 不断出现的错误是ReferenceError: […]

TwoPassFilter GPUImage实际上做了什么?

我正尝试从GPUImage(ios) for Android重新创buildGPUImageTwoPassFilter。 我正在为在这里完成的GPUImage的Android端口工作。 该港口实际上对许多filter很好。 我已经移植了许多着色器,基本排队,取得了巨大的成功。 问题是要移植一些filter,你必须从GPUImage的GPUImageTwoPassFilter扩展,这个android版本的作者还没有实现。 我想刺探一下,但不幸的是,iOS版本没有文档,所以我不太确定TwoPassfilter应该做什么。 有没有人有任何提示去做这个? 我对openGL有一定的了解,但对Android和iOS非常了解。 我肯定在这里寻找一个非常psudocode的说明

PhoneGap开发应用程序下载错误

我正在使用PhoneGap开发应用程序来即时testing我的应用程序,并从今晚开始,该应用程序显示“下载”,然后几秒钟后显示“下载错误”。 之后,出现一个popup窗口 Unable to download archive from the server. Please upgrade the PhoneGap CLI or check your network settings. 那么,如何升级PhoneGap CLI以及我应该检查哪些设置? 我没有改变任何networking设置和PhoneGap开发应用程序在我的Macbook和iPhone上工作正常,但现在它说这个。 有什么问题,我该如何解决? 编辑我现在意识到,这是现在发生的,因为PhoneGap开发人员的iOS应用程序已经更新(现在版本1.5.2)。 我已经将PhoneGap CLI升级到版本5.0.0-0.28.0,这是根据PhoneGap的博客文章推荐的版本 似乎桌面和移动应用程序现在进行沟通的新方式出现了问题。