是否可以为 iOS 编写应用程序并将 object-c 代码移动到 Android 中?
Posted
技术标签:
【中文标题】是否可以为 iOS 编写应用程序并将 object-c 代码移动到 Android 中?【英文标题】:Is is possible to write app for iOS and move object-c code into Android? 【发布时间】:2014-03-29 06:51:24 【问题描述】:今天我与 PM 交谈。他说解决“ios 和 android 上的同一个应用程序”问题的最好方法是为 iOS 编写 object-c 代码,然后在 Android 应用程序中使用 相同的代码 (https://developer.android.com/tools/sdk/ndk/index.html)。这种方法(在他看来)会给我们带来 DRY 效果(只需维护一个代码)。
我惊呆了,几乎没有对它说什么。但是后来想了想,发现了一些问题:
-
C++ != 对象-C。可以在Android中将o-c代码添加为c++代码吗?
(假设#1 是可能的)我如何进行布局、活动等。在 C++ for Android 中?
还有什么时候我们应该/不应该使用Android NDK?
【问题讨论】:
这是不可能的,但你可以使用 Phonegap 或 Titan 类语言来开发可以跨平台运行的移动应用程序。 我认为他将 c 与 obj-c 混淆了。您可能需要为此研究跨平台解决方案。有许多免费和商业产品可以实现这一目标。 1.) 永远不要相信 PM,他们不知道 :P :)(开个玩笑)2.) 这种情况可能是他做的,结帐:***.com/questions/14477768/…。 喜欢项目经理尝试使用开发人员说话,却弄错了。 ;) 【参考方案1】:简短的回答是不,这是不可能的。不过http://www.apportable.com
声称使您能够为 Android 编译 iOS 应用程序 - 从而使您能够使用 iPhone 应用程序中的所有代码。
但它不适用于每个框架,但它确实与 Android SDK 挂钩,因此您仍然可以访问这些组件。值得一看,玩一玩。我只是半心半意,你必须从一开始就构建 iOS 应用程序,并计划使用http://www.apportable.com,就像我说它目前不支持所有 ios sdks,你需要解决这个问题.
但这应该回答你的问题。
自 2016 年起,应用便携不再是一种选择 more info,看来 Google 扼杀了梦想。
【讨论】:
Apportable 已经倒闭了。 已更新,我什至没有想到这个问题在 2019 年仍然会引起人们的兴趣 ;) 谢谢——这是给某些人的。 :) 作为 Apportable 的替代品,您现在还可以将GNUstep Android toolchain 用于类似目的(另请参阅下面我的单独答案)。 我看到了,但 TBH 到那时你可能会更好地使用 ReactNative 或其他东西。 是的,除非你有一个使用 Objective C 的大型现有代码库。【参考方案2】:Objective C 代码不能使用 NDK 编译。但是请查看http://www.apportable.com/,它是一个允许您在 Objective-C 中为 Android 编写代码的库。这可能就是你老板所说的。
【讨论】:
这个支持游戏以外的东西吗?即:普通应用程序通过 HTTP (REST) 连接到服务器?【参考方案3】:C++
您不能直接共享使用 ios 系统框架(UIKit、CFNetwork,...)的代码。
如果您想为整个应用编写一次代码,您可以在 apportable.com 上试一试,就像其他人指出的那样。
【讨论】:
是的,建立在 Android SDK (#1) 之上的 Apportable id 并实现了一堆 iOS 系统框架(#2)【参考方案4】:您可以使用GNUstep Android toolchain 在Android 应用程序中使用基于Foundation 和CoreFoundation 的模型代码,然后编写一个新的UI 层,在此之上通过本机NDK 调用与Objective C 模型交互(例如在Android 中)工作室)。
【讨论】:
以上是关于是否可以为 iOS 编写应用程序并将 object-c 代码移动到 Android 中?的主要内容,如果未能解决你的问题,请参考以下文章
是否有适用于 iOS 的 RESTful YouTube API?
iOS:开源 VoIP/SIP Objective-C 代码 [关闭]