Articles of iOS

推荐的实现推送通知的方法

我正在为Android和iPhone构建应用程序。 此应用需要接收用户收件箱中新邮件的通知。 作为app dev中的总菜鸟,我想知道你们中是否有人能够提出最好的方法来实现我需要的东西。 我在Android上阅读的内容比iPhone更多,所以我对后者的理解可能不足。 基于我已经阅读和理解的内容,我相信当我的应用程序第一次启动时,我需要启动服务(或者每次设备启动时指示设备启动服务)。 然后,此服务将与服务器连接以接收通知并显示它们。 单击通知将启动该应用程序。 我的选择是 C2DM或APNS 城市飞艇 我自己的服务器主要使用与客户端的空闲TCP连接。 根据我选择的选项,我的客户端实现以及服务器端实现都会发生变化。 你们会推荐什么? 有没有其他方法可以做我需要做的事情? 任何帮助是极大的赞赏。 更新: 建立在jbat100上的答案。 Apple不允许我编写自己的服务器直接与我的应用程序通信以进行通知这一事实意味着必须使用APNS。 所以选项3完全没有了。 这意味着我们留下了Urban Airship或直接与APNS和C2DM接口。 根据我的研究,这两种情况所涉及的努力是可比较的,因此仅仅支持4-5K / mo额外支持通知是没有意义的。 因此,我计划实施选项1.如果您有任何其他想法,请在下面留下评论。 谢谢。

如何处理iOS中的应用程序未运行或关闭状态时的数据typesfcm通知类似于android?

在android中,当app未运行或处于关闭状态时,我们可以接收数据types的通知。 并且可以使用代码解析和显示通知,并且可以执行更新旧消息等任何操作。 public class FCMListenerService extends FirebaseMessagingService { @Override public void onMessageReceived(RemoteMessage remoteMessage) { Log.d(“onMessageReceived for FCM”, remoteMessage.getData().toString()); } } 我怎样才能在ios中做类似的事情? 当应用程序处于后台或前台时,我能够获得通知的数据types。 所以我能够做我想做的事。 但是,当应用未运行时,我无法调试如何处理数据types通知? 有人能帮我吗? 下面是我要发送的有效负载。 { “to”: “…………..”, “data”: { “body”: “data”, “title”: “Portugal vs. Denmark”, “icon”: “myicon” }, “content_available”: true }

如何使用Cordova获取设备的振铃状态/静音状态?

我正在使用Ionic和Cordova开发移动应用程序,并希望根据设备Ringer Mode status播放声音。 有什么方法可以让我了解设备Ringer模式状态: vibration silent normal 我在这里find了一个Android的例子。

他们的任何规则是根据屏幕的大小设置为图标/字体/等的大小

当我在智能手机上做应用程序时,我定义(例如)一个20px * 20px的图标。 这个图标在我的手机屏幕上看起来很棒,但不适用于大屏幕的平板电脑(如ipad pro)。 在这种情况下,图标看起来很小。 如果我按比例增加图标的大小与屏幕,那么图标最终看起来太大了。 举个例子: 在我的手机屏幕360 * 640上,图标大小为20x20px 在我的平板电脑屏幕1024×1366上,图标大小约为60px * 60px =>太大了 有人知道一个很好的规则来设置图标/字体/等的大小。 根据屏幕的大小? 我在delphi(firemonkey)

Sencha Touch 2 + PhoneGap + iPad:带有base64编码数据的video:“操作无法完成”

我的应用程序(包装在PhoneGap中)运行在线和离线模式。 我将base64中编码的图像和video存储在localstorage中。 当我在浏览器上调试它时它运行得很好,但在iPad上它在javascript promt中喊出“操作无法完成”。 我尝试用纯HTML标签和tru Ext.Video放置video。 我在这里错过了什么? 谢谢 newhtml += ” “; 更新: 在iPad和Android 3.0原生浏览器中测试过,结果是“操作……”。 使用和不使用自动播放和控制器(在video/源标签中)进行测试。

REST上的客户端 – 服务器同步

这个问题是关于我认为Android / iOS开发中一个非常常见的问题,但我还没有find任何“标准”解决方案。 假设我们有一个相当普通的REST API。 服务器数据库包含(以及其他)表格具有1:N关系的countries和towns 。 客户端(移动应用程序)希望维护这两个表的本地快照。 因此,当它处于脱机状态时,它可以执行通常通过REST完成的查询,例如:“获取人口> = 100的奥地利城镇列表”? 怎么解决这个问题? 第一个问题:一致性。 客户端应该有两个表的快照。 如果客户端下载towns表的更新并下线,则某些城镇可能会引用不在countries表的本地副本中的countries 。 第二个问题:客户端应该只下载新的/删除/更改的行。 get_updates_since(…) REST并使用一些自定义RPC调用,如get_updates_since(…) ? 第三个问题:如何将客户端数据库副本(可能脱机)的本地更改与服务器同步? 自定义RPC调用?

如何处理白标平台移动应用程序的部署?

我正在开发一种可以部署到许多不同组织的产品(理想情况,几十种)。 系统的每个部署(由iOS和Android的本机应用程序组成)将涉及以下内容: 特定于组织的品牌(即新皮肤) 与组织的身份validation系统和用户数据库集成 一些自定义function取决于组织的需求 换句话说,核心function在所有部署中将保持不变,但每个实例看起来都不同,挂钩到不同的身份validation系统,并启用/禁用某些function。 我的问题:为了最大限度地减少重复并简化部署过程,管理我们的2个移动代码库(iOS和Android)的最佳策略是什么? 我们正在讨论的三个解决方案是: 创建一个跨所有实例共享的核心库(作为子项目/库项目或git子模块),并在顶部添加一个薄层,其中包含品牌和任何配置详细信息。 维护具有核心function的Git分支,并为包含其他代码的每个部署创建新分支。 做一些完全不同的事情,一些更聪明的人在stackoverflow建议。 哪个听起来最棒? 提前感谢您的任何反馈!!

Phonegap iOS / Android – 链接www文件夹

我正在尝试使用单个/ www文件夹为iOS和Android编写一个phonegap应用程序, 我的文件夹结构是这样的: 代码/ Android / Eclipse项目文件 代码/ iOS / xCode项目文件 Code / www / index.html,phonegap.js等。 现在我在eclipse中尝试链接到外部www文件夹,我有几个方法,包括这里提出的方法: 如何在Eclipse / Phonegap / Android项目中链接assets / www文件夹? 没有任何成功: 在Android虚拟设备中启动应用程序时,如果包含index.html的www文件夹实际上不在Android / Project / Assets /中,则报告错误。 知道如何使用链接工作吗? 或者有没有办法告诉eclipse在构建项目时将文件复制到新位置? 谢谢 PS:我将主要在Windows上,所以符号链接不是一个选项。

如何更改Facebook登录validation屏幕中的默认应用程序图标

干净利落。 我需要更改在使用Facebook SDK登录应用程序时在身份validation屏幕中呈现给用户的默认应用程序图标。 我试过的: www.developer.facebook.com -> My Apps -> App Details -> Icons 任何帮助表示赞赏! 感谢您的时间!

使用.NET的Xamarin iOS本地化

我正在尝试在便携式类库中使用.NET本地化来实现Xamarin iOS / Android项目。 我按照以下步骤操作: 如何在C#中使用本地化 并且具有如下代码: string sText = strings.enter_movie_name; Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(“fr”); sText = strings.enter_movie_name; lblEnterMovieName.Text = sText; 我也尝试过: ResourceManager resman = new ResourceManager(typeof(MyApplication.strings)); string sText = resman.GetString(“enter_movie_name”, new CultureInfo(“fr”)); 我创建了strings.resx,其中enter_movie_name等于“输入电影名称:”,strings.fr.resx等于“Entre la movie name:” 但是,sText始终以“输入电影名称:”结尾。 我似乎无法获得“Entre la movie name:”版本。 我也看到了跨平台本地化的post,但无法解决这个问题。 我也不想在Xamarin.iOS的Localization上使用iOS特定版本,因为我希望能够从独立于平台的库中获取我的字符串。 谁能指出我哪里出错?