根据(著名的)iPhone Developer Program License Agreement 更改
3.3.1 — Applications may only use Documented APIs in the manner
prescribed by Apple and must not use
or call any private APIs. Applications
must be originally written in
Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit
engine, and only code written in C,
C++, and Objective-C may compile and
directly link against the Documented
APIs (e.g., Applications that link to
Documented APIs through an
intermediary translation or
compatibility layer or tool are
prohibited).
因此允许使用 C++ 开发 iPhone 应用程序
我的问题
是否有用于使用 C++ 开发 iPhone 应用程序的编译器/IDE?
该编译器/IDE 在非 Mac 环境中可用吗? (Windows?Linux?)
如果不是,为什么?我的意思是用于 iPhone 开发的 eclipse C++ 插件将会非常流行,或者是否已经有任何认真的尝试这样做?
最佳答案
是的(XCode,尽管您仍然需要一些 Objective-C 胶水代码来初始化您的应用程序)
没有
因为他们不希望您这样做,而您必须接受许可协议(protocol)
编辑:这里是对 3) 的限制。简而言之,您同意仅在 Apple 限制的条件下使用 Apple 提供的 SDK。
1.2 Definitions
"SDK" (Software Development Kit) means the Documentation, software (source code and object code), applications, sample code, simulator, tools, libraries, APIs, data, files, and materials provided by Apple for use by You in connection with Your Application development, and includes any Updates that may be provided by Apple to You pursuant to this Agreement.
-
2.1 Permitted Uses and Restrictions
Subject to the terms and conditions of
this Agreement, Apple hereby grants
You during the Term, a limited,
non-exclusive, personal, revocable,
non-sublicensable and non-transferable
license to:
(a) Install a reasonable number of
copies of the SDK portion of the Apple
Software on Apple-branded computers
owned or controlled by You, to be used
internally by You or Your Authorized
Developers for the sole purpose of
developing or testing Applications;
-
2.6 No Other Permitted Uses
You agree not to install, use or run the SDK on any non-Apple-branded computer, not to install, use or run the iPhone OS and Provisioning Profiles on or in connection with devices other than iPhone OS Products, or to enable others to do so. You may not and You agree not to, or to enable others to, copy (except as expressly permitted under this Agreement), decompile, reverse engineer, disassemble, attempt to derive the source code of, modify, decrypt, or create derivative works of the Apple Software or any services provided by the Apple Software or otherwise provided hereunder, or any part thereof (except as and only to the extent any foregoing restriction is prohibited by applicable law or to the extent as may be permitted by licensing terms governing use of open-sourced components or sample code included with the Apple Software).