Articles of iOS

Android NSD(网络服务发现)是否与iOS中的Bonjour服务兼容?

我将为iOS和Android创建一个无服务器的本地网络应用程序。 iOS和Android设备中的应用程序应该find并相互通信。 我知道有平台内置服务(iOS版本的Bonjour和Android版本的v4.1中的NSD),此外,开源jmdns软件包也可以直接使用。 我不知道如何选择以及它们的兼容性如何。 我的问题是: Android NSD(网络服务发现)是否与iOS中的Bonjour兼容? 我应该在我的应用程序中用于服务发现。 如果我还为应用程序开发PC版本,是否需要使用第三方库?

将iPhone / iPad应用程序转换为Android

我已经开始使用iPhone SDK在iPhone和iPad上构建自己的应用程序。 客户经常询问的下一个问题是,“我们可以在Android上使用它吗?” 所以我对你的问题,’互联网’,是:我的选择是什么? 我没有时间学习另一种语言(学习iOS已经足够了!),那么有专门研究这种情况的公司,还是有任何在线服务进行转换? 对此欢迎任何帮助,只需要知道转向哪种方式……

如何在Mobile中获得One Signal唯一用户ID?

我正在开发一个餐厅应用程序。 我在我的应用程序中使用One Signal发送通知。 在这里,当我下订单时,我需要为特定用户发送一个信号的唯一ID,以获得“您的订单已成功放置…正在进行中。请等待”的通知。 为此,我需要用户的One Signal用户ID。 我怎么才能得到它? 我是One Signal的新手。 请帮帮我。

Cordova插件白名单失败要求cordova ios 4

我试着跑 ionic platform ios android 它今天给了我这个错误(以前工作正常) Installing “cordova-plugin-whitelist” for ios Failed to install ‘cordova-plugin-whitelist’:CordovaError: Plugin doesn’t support this project’s cordova-ios version. cordova-ios: 3.8.0, failed version requirement: >=4.0.0-dev at checkEngines (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:116:29) at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:289:16 at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:787:54) at self.promiseDispatch.done (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:816:30) at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:749:13) at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:557:44 at flush (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:108:17) at process._tickCallback (node.js:355:11) Plugin doesn’t support this project’s cordova-ios […]

InAppPurchasevalidation和用于游戏逻辑的独立服务器

我正在使用Unity(适用于Android和iOS)开发应用程序。 我正在使用SOOMLA插件允许用户通过In App Purchase购买Gems(虚拟货币)。 用户和Gems以及所有其他游戏逻辑都通过Azure上的服务器。 我希望以下过程以某种方式作为单个事务发生: 用户通过IAP购买Gems 应用程序通知服务器 服务器validation购买和更新数据 但是如果互联网连接在步骤1和步骤2之间发生故障 – 用户付钱给他没有收到的gem(不好!) 所以我目前的做法是这样的: 用户启动购买 应用程序通知服务器 服务器盲目地相应地更新数据 用户通过IAP购买Gems 如果取消购买,请通知服务器将其撤消 这样,用户可以保证获得他购买的gem,但我不能保证得到报酬(不是很好……) 注意: 我不想在商店本身管理用户Gems。 我希望我自己的服务器上的一切。 所以SOOMLA的平衡对我来说毫无意义。 我不在乎。 我想也许应用程序可以将购买数据存储在持久存储中,直到它设法通知服务器有关它,然后删除它。 但我也认为这可能是一个糟糕的解决方案。 因此这个问题。 我认为最好的解决方案可以正确处理这种情况: 用户通过IAP购买Gems IAP成功 互联网崩溃了 我的服务器没有得到通知 用户从他的设备上卸载应用程序 然后,用户可以在其他设备上安装该应用: 无论是他被指控还是他通过一些魔法得到了gem 或者他被自动退款,因为没有收到gem 到目前为止,似乎无论如何这都是不可能的,这让我对IAP的技术感到失望。 希望find能certificate我错误的答案。 似乎我所需要的只是能够从我的服务器获取用户的购买历史记录,并向Google Play或Apple Store提供安全请求。 但这不是框架的一部分。 那么其他人在做什么? 什么是最好的方法?

Apache Cordova(PhoneGap)中的资源结构并从文件系统加载文件

我们有一个相当复杂的JS webapp,可以在浏览器中以不同的方式(字符串,arrayBuffer,base64,二进制)加载不同的资源(HTML模板,额外的JS / CSS文件,JSON数据,图像,video,声音)(只读不写作)。 现在,我们想对其进行更改,以使所有内容在不同平台上脱机(包括资源)作为Cordova移动应用程序。 问题#1 – 从本地文件系统加载文件 它使XHR对本地file://资源的请求在任何地方都能正常工作, 但Chrome现在是一个显示阻止因为Android内部过渡到Chrome。 好的,还剩下2个选项: 假装JSONP中的所有内容都带有脚本标签,带有iframe的HTML等等 – 这不是一个非常好的选择,因为它需要更改资源本身+它的hacky并且它会花费我们很多function(仅限字符串加载) JS / HTML,arrayBuffer,二进制等) 使用File API 不幸的是,普通的vanilla File API 总是 需要用户交互 (比如点击输入框)来获取文件引用加上IE10是禁止的。 好的,所以唯一的选择就是为PhoneGap使用自定义的File API插件 – 这给我们带来了下一个问题。 问题#2 – (跨平台?)PhoneGap中的文件路径 我喜欢PhoneGap CLI – 你在终端输入一些命令,它为你管理不同平台的文件和构建。 或者是吗? 据我所知,根据PhoneGap你应该把所有东西都放在WWW文件夹中 – 但是(一旦你构建应用程序),疯狂的事情是 – 没有简单的方法来读取这些文件(通过File API插件)从PhoneGap放置它们。 您认为fileSystem.root (LocalFileSystem)指向该文件夹,但至少在iOS上,WWW文件夹位于您的应用程序中,但fileSystem.root引用指向外部Documents文件夹(仍需在Android上测试此文件夹)但我猜它又是一些不同的东西)。 经过一些修补后,我想出了如何进入WWW文件夹,但它不灵活,hacky,感觉它应该不起作用(目前只有iOS): window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){ fileSystem.root.getDirectory(“../HelloWorld.app/www”, {create: true}, function(entry) { entry.getFile(“test.json”, […]

检测客户端是否允许HTML5video的内联媒体播放

是否有一种很好的方法来检测客户端浏览器是否允许HTML5video的内联媒体播放? 更新 我不是想简单地检测video支持。 我正在尝试检测video是否只能播放全屏或内联播放。 因为在iPhone的Safari游戏中,iOSvideo只能全屏播放,但在iPad上可以内嵌播放video。 并且通过内联我的意思是在页面中没有切换到全屏。

直接从浏览器(或从应用程序)发送链接到whatsapp组

我想让用户与WhatsApp小组共享URL +文本。 我希望这可以从iPhone和Androids工作。 但是我的应用程序是在浏览器中(它是一个网站)。 我目前正在研究两个选项,但两个都有问题: 1)第一个潜在的解决方案 – 直接从浏览器共享。 我查看了WhatsApp的URL架构,并使用以下URL通过我的应用程序共享: “whatsapp://send?text=Hello%2C%20World!” 但是这种方法存在一些问题: 它似乎只适用于iPhone而不适用于Androids。 Androids是否有适合的解决方案? 只有在您被重定向到WhatsApp之后,它才能选择发送给谁,除非您知道用户的地址簿ID(= abid )。 首先,我不知道如何访问用户的abid? 其次,我试图发送到一个组,在这种情况下没有abid(对吗?),因此似乎不可能这样做。 真的吗? 此外,Android应用程序会发生什么? 对于一个团队而言,与abid相比的是什么?我如何得到它? 2)第二个潜在的解决方案 – 创建一个与基于浏览器的应用程序相同的本机应用程序,但这个特定部分(我们执行“共享”)是本机的。 但是,在我看来,在这种情况下,我遇到的问题与上述问题非常类似: 我可以在WhatsApp的网站上看到如何为iOS做这个(见上面的链接)。 但是,WhatsApp URL架构是否也适用于Android原生应用程序? 同样,地址簿ID问题也是一样的。 我怎么得到它? 鉴于我们现在是一个原生应用程序,它可能更容易获得iOS上的abid,但它是否存在于一个组中? Android应用程序怎么样? 这份分享给WhatsApp小组在那里工作吗?

将包名称更改为现有的Phonegap项目

我有一个android phonegap项目和一个ios phonegap项目。 它们是使用给定的包名创建的,但我现在必须更改此包名。 在Android中,我认为我必须在清单中更改包名称,并在src文件夹中重命名/移动java文件,并在此java文件中更改以反映新的包名称。 然后清洁和建立。 这听起来不错吗? 我还注意到Eclipse Android Tools >> Rename Application Package中的一个选项,它要求输入包名称。 它会做出所有必要的改变吗? 我如何更改XCode项目中的包ID,以便项目构建正常? 只需按照此票证中的说明编辑Bundle标识符即可? 更改xcode包名称而不创建和导入到新项目 谢谢你的帮助。

将API请求限制为仅限我自己的移动应用

有没有办法限制我的REST API的post请求只限于来自我自己的移动应用程序二进制文件的请求? 此应用程序将在Google Play和Apple App Store上发布,因此应该暗示有人可以访问其二进制文件并尝试对其进行反向工程。 我正在考虑涉及应用程序签名的内容,因为每个已发布的应用程序都必须以某种方式签名,但我无法弄清楚如何以安全的方式执行此操作。 也许结合获取应用程序签名,加上基于时间的哈希,加上应用程序生成的密钥对和良好的旧安全性虽然默默无闻? 我正在寻找尽可能失败certificate的东西。 原因是因为我需要根据手机传感器收集的数据向应用程序提供数据,如果人们可以伪装成我自己的应用程序并将数据发送到我自己的算法未处理的api,它就会失败目的。 无论多么复杂,我都愿意接受任何有效的解决方案。 锡箔帽解决方案非常受欢迎。