使用 PyObjC, ,您可以使用 Python 为 OS X 编写 Cocoa 应用程序。我可以使用 Python 编写本机 iPhone 应用程序吗?如果可以,如何编写?

有帮助吗?

解决方案

目前还不行,目前唯一可访问 iPhone SDK 的语言是 C/C++、Objective C 和 Swift。

没有技术原因说明这种情况在未来不会改变,但我不会因为这种情况在短期内发生而屏住呼吸。

话虽如此,Objective-C 和 Swift 确实并不太可怕……

2016年编辑

带有 NativeScript 框架的 Javascript 现在可以使用。

其他提示

由于 Jay Freeman (saurik) 的出色工作,您也可以在 iPhone 上使用 PyObjC。看 Python 中的 iPhone 应用程序.

请注意,目前这需要越狱的 iPhone。

是的你可以。您用tinypy(受限制的Python)编写代码,然后使用tinypy将其转换为C++,最后使用XCode将其编译为本机iPhone应用程序。Phil Hassey 发布了一款名为“大象”的游戏!使用这种方法。这里有更多细节,

http://www.philhassey.com/blog/2009/12/23/elephants-is-free-on-the-app-store/

看来现在开发人员可以这样做:iOS 开发者协议昨天发生了变化,似乎已经进行了修改,使得在应用程序中嵌入 Python 解释器变得合法:

第 3.3.2 节 — 口译员

老的:

3.3.2应用程序本身不得以任何方式安装或启动其他可执行代码,包括通过使用插件架构,调用其他框架,其他API或其他方式来限制。除非Apple以书面形式批准,否则在应用程序中不得下载或使用解释的代码,除非由Apple的已记录的API和内置解释器解释和运行的代码。尽管上述有关苹果的事先书面同意,但如果该应用程序仅用于提供符合应用程序的预期和宣传目的一致的次要功能,则应用程序可能会以有限的方式使用嵌入式解释的代码。

新的:

3.3.2 应用程序不得下载或安装可执行代码。解释的代码仅在应用程序,代码和解释器都包装在应用程序中而未下载时才能在应用程序中使用。上述唯一的例外是脚本和代码由Apple的内置WebKit Framework下载和运行。

是的,现在您可以使用 Python 开发 iOS 应用程序。

您可能需要检查两个框架: 基维皮莫布.

请考虑以下问题的答案 这个问题 也是如此,因为它们比这个更新。

iOS 开发者协议的更新意味着您可以使用任何您喜欢的内容,只要您符合开发者指南即可。第 3.3.1 节限制了开发人员可用于 iOS 开发的内容,已被完全删除。

来源: http://daringfireball.net/2010/09/app_store_guidelines

Python 主义者 具有导出到 Xcode 功能,允许您将 Python 脚本导出为构建独立 iOS 应用程序的 Xcode 项目。

iPhone SDK 协议对于是否允许运行脚本语言(WebView 的 Javascript 之外)也相当模糊。我的理解是,只要您执行的脚本不是从网络下载的(因此预安装和用户编辑的脚本似乎没问题),那就可以了。

IANAL 等

从技术上讲,只要未下载解释代码(不包括 JavaScript),该应用程序就可能获得批准。Rhomobiles“Rhodes”框架就是这样做的,它将移动 Ruby、Rails 的轻量级版本和您的应用程序捆绑在一起,以便通过应用程序商店进行分发。因为解释器和解释后的代码都被打包到最终的应用程序中 - Apple 并不认为它令人反感。

http://rhomobile.com/products/rhodes/

即使在最新的苹果新闻稿发布之后,罗德应用程序(移动红宝石)仍然可以在应用程序商店中使用。我很难相信如果有愿意的开发者社区,tinyPy 或 pyObjC 找不到一席之地。

您可以使用 PyObjC 来完成此操作,当然也可以使用越狱的手机。但是,如果您想将其放入App Store,它们将不允许它,因为它“解释了代码”。但是,您可能可以使用 脱皮, ,尽管我不知道有人这样做。但我想不出任何好的理由这样做,因为你失去了动态类型,并且还不如使用 ObjC。

我认为这是不可能的,但我最近听说了 PyMob,这似乎很有趣,因为应用程序是用 Python 编写的,最终输出是各种平台上的本机源代码(iOS 的 Obj-C、Android 的 Java 等)。这当然是非常独特的。 网页对此进行了更详细的解释。

我还没有尝试过,但很快就会看一下。

蜜蜂软件 是一个用于编写原生 iOS 和 Android 应用程序的开源框架。

据我所知,在框架和兼容性方面提供半重要支持的 iPhone 开发唯一重要的“外部”语言是 单点触控, ,用于在 iPhone 上进行开发的 C#/.NET 环境。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top