Articles of Objective C

React Native – initialProperties Android

我在React-Native下工作,我正在寻找通过Java将初始道具传递给JS。 这可以在Objective-C中使用initialProperties轻松完成,如下所示: RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@”myapp” initialProperties:initialProperties launchOptions:launchOptions]; 其中initialProperties是一个NSDictionary ,它将以JSON this.props转换,并通过this.props在JS中提供。 所以我希望在Android中做同样的事情。 有帮助吗? 谢谢

如何在跨平台应用程序中处理基于UI的导航?

假设您有一个跨平台应用程序。 该应用程序在Android和iOS上运行。 您在两个平台上的共享语言都是Java。 通常,您将使用Java编写业务逻辑,并使用Java(适用于Android)和Objective-C(适用于iOS)编写所有UI特定部分。 通常,当您在跨平台,跨语言应用程序中实现MVP模式时,您将拥有Java中的Model和Presenter,并为您的演示者提供了一个Java接口,供您的演示者使用。 这样,您的共享Java演示者可以与您在平台特定部分上使用的任何视图实现进行通信。 让我们假设我们想要编写一个带有Java部分的iOS应用程序,以后可以使用相同的Android应用程序进行共享。 以下是设计的图形表示: 在左侧有Java部分。 在Java中,您可以编写模型,控制器以及视图界面。 使用dependency injection进行所有连线。 然后可以使用J2objc将Java代码转换为Objective-C。 在右侧,您有Objective-C部分。 在这里,您的UIViewController可以实现Java接口,这些接口转换为ObjectiveC协议。 问题: 我正在努力的是如何进行视图之间的导航。 假设你在UIViewControllerA上,然后点击一个按钮,它会带你到UIViewControllerB。 你会怎么做? 情况1: 您将按钮点击报告给UIViewControllerA的Java ControllerA(1),Java ControllerA调用链接到UIViewControllerB(3)的Java ControllerB(2)。 然后,您遇到的问题是Java Controller端不知道如何在Objective-C View层次结构中插入UIViewControllerB。 您无法从Java端处理此问题,因为您只能访问View接口。 案例2: 您可以转换到UIViewControllerB,无论它是模态还是UINavigationController或其他(1)。 然后,首先需要正确的UIViewControllerB实例,它绑定到Java ControllerB(2)。 否则,UIViewControllerB无法与Java ControllerB(2,3)进行交互。 当您拥有正确的实例时,您需要告诉Java ControllerB已经显示了View(UIViewControllerB)。 我仍在努力解决如何处理不同控制器之间导航的问题。 如何在不同控制器之间建模导航并适当地处理跨平台视图更改?

适用于iOS和Android的移动设备唯一性

我正在寻找一种使用唯一标识符安全地识别移动设备的方法。 每次我在特定设备上安装我的应用程序时,我都应该获得相同的唯一标识符。 此标识符将上载到服务器后端并保存以供将来参考。 必须在不依赖电话的IMEI号码的情况下实现这一点。 苹果早已禁止它用于iOS,谷歌可能会在明天为Android做同样的事情。 对于Android,至少有ANDROID_ID 。 iOS怎么样? 什么都没有? Android和iOS都必须采用标准的,万无一失的方式。 我对任何/所有/付费/免费/本机/第三方解决方案感兴趣。 其他公司为解决这个问题做了什么? 我已阅读以下post: 1. 识别应用程序安装 。 2. 是否有唯一的Android设备ID? 3. 为每个Android设备获取唯一的ID签名 。 4. iOS上的持久交叉安装设备标识符:使用Keychain 。 5. UIDevice uniqueIdentifier已弃用 – 现在该怎么办? 6. 始终在iOS 7中获取唯一的设备ID 。 7. iOS7 – 设备唯一标识符 。 8.将 唯一ID实现为UUID并将其保存在Keychain中 。 我想超越这个。 还有什么可以做的? 那里有一个全面的,一劳永逸的防弹解决方案吗?

IOS cotrols隐藏起来就像android一样

我在自己的UI设计中使用了自动布局的故事板。 基本上在android中有三种不同的属性会像Visible和Invisible那样 消失 。 例如: 1) android:visibility=”gone” // used to hide the control and as well as space (or) CONTROLNAME.setVisibility(View.GONE); 2) android:visibility=”invisible” // used to hide the control but it will take space (or) CONTROLNAME.setVisibility(View.INVISIBLE); 在IOS中, Objective-C的 1) ? 2) [CONTROLNAME setHidden:TRUE]; // used to hide the control but it will take space 迅速 1) […]

Objective-c和Java,iPhone和Android之间是否存在巨大差异?

编辑:我的坏,我的意思是客观c,而不是c#。 有些原因我把它弄到脑袋里就是i#使用的c#。 所以c#的答案很棒,谢谢,但是它们有点无关紧要,抱歉。 我已经看过但找不到任何可以解决这个问题的东西,尽管有些人通过回答部分问题缩短了问题。 在一个小团队之间,我们计划在iPhone和Android上做一些工作,大部分是分开的,但互相帮助,并且有些人在他们之间进行图形工作。 但我们正在考虑在两者之间移动东西的可能性,不一定是应用程序,可能只是有用的类或其他东西。 看看Objective-c和Java,他们似乎有相同的function,最大的障碍是系统接口的东西,所以我们想知道,如果我们在每个系统上创建一个抽象,以便他们可以给予相同的输入(除非我错了不会对系统造成太大的压力?),在编写一些在objective-c和Java之间转换的东西会有什么问题,比sdks中的方法位置更糟糕吗? 或者是否存在一种语言的关键特征或某种东西,而另一种语言则是我们错过的,这意味着唯一的方法就是从头开始重写。

如何在Google地图上使用相同位置处理多个标记?

我在应用中使用Google地图,很可能会将多个标记附加到每个标记代表一个人的同一位置。 在这种情况下,用户将不知道该特定标记后面还有其他标记/人。 我环顾四周来处理这种情况,关于SO的一个问题表明我可以显示一个标记并将所有人与该单个标记相关联。 当用户点击该标记时,我应该显示与该标记关联的所有用户的列表。 这是一个很好的解决方法,但我想避免显示主要隐藏谷歌地图的视图。 有没有人在类似情况下使用过任何解决方法?

使用Java for Android编写的程序是否比嵌入到Objective-C for iOS中的C编写的程序慢?

为了确定开始将现有的iOS应用程序(用C语言编写)移植到Android是否合理,我必须估计如果用Java实现它的速度有多快。 一些问题是Java代码必须多次翻译(到字节码,然后到使用JIT的本机代码)。 它可能会对实时属性(响应性)产生负面影响,对吧? 生成代码的质量如何? 它在某种程度上与gcc / llvm生成的代码相当吗? 如果是,您是否参考了比较结果(纸张)?

Objective-C和Android

我刚刚为Android完成了一个相对较大的项目,它在我的口中留下了一种苦涩的味道,因为它知道它永远不会在太阳系这一侧最普遍存在的手机之一上运行(那个水果小的那个俱乐部)。 因此,对于我的下一个项目,我想以一种方式编写它,使大多数组件可以在iPhone和Android平台之间轻松传输。 我想这样做的方法是在Objective-C中编写大部分代码,然后分别在更多的Objective-C和Java中添加特定于平台的部分。 在Android方面,这将需要使用NDK。 我对C的了解很好,但我对Objective-C的了解接近于零,我不想学习C ++。 上面的方法是否合理,是否有更好的方法? 有没有什么方法可以用Java编写代码并仍然可以进入未被黑客入侵的iPhone市场? 我认识的人(iPhone用户)明年将拥有Android手机的可能性有多大?

端口iPhone应用程序到Android

将iPhone应用程序移植到Android的最有效方法是什么? 我知道Apple不喜欢为他们的平台生成代码的第三方非Objective C平台……但是有什么东西可以带iPhone应用程序并将其转换为Android友好代码吗? 如果没有,那么人们如何创建现有iPhone应用程序的Android版本? 谢谢

如何在使用React Native时实现SSL证书固定

我需要在我的反应本机应用程序中实现SSL证书固定。 我对SSL / TLS知之甚少,更不用说固定了。 我也不是一个本地移动开发人员,虽然我了解Java并且在这个项目上学习了Objective-C足以绕过它。 我开始搜索如何执行此任务。 React Native没有实现这个吗? 不,我的初步搜索引导我查看自2016年8月2日以来未收到任何活动的提案 。 从中我了解到react-native使用的OkHttp确实支持Pinning,但是我无法将其从Javascript中删除,这不是真正的要求,而是一个加号。 在Javascript中实现它。 虽然反应似乎使用了nodejs运行时,但它更像是一个浏览器而不是节点,这意味着它不支持所有本机模块,特别是https模块,我已经在本文后面实现了证书固定。 因此无法将其带入本机反应。 我尝试使用rn-nodeify,但模块不起作用。 自从我目前正在使用RN 0.33到RN 0.35以来,这是真的。 使用phonegap插件实现 我想过使用phongape-plugin但是因为我依赖于需要反应0.32+的库我不能使用react-native-cordova-plugin 只是本地做 虽然我不是本机应用程序开发人员,但我总是可以解决它,只是时间问题。 Android有证书固定 我了解到android支持SSL Pinning但是不成功,因为看起来这种方法在Android 7之前不起作用。以及仅适用于android。 底线 我已经用尽了几个方向,并将继续寻求更多本机实现,也许可以弄清楚如何配置OkHttp和RNNetworking然后可能会回到本地反应。 但是,IOS和Android已经有任何实现或指南吗?