PDA

View Full Version : Tough road to get to iPhone now



paul_nicholls
09-04-2010, 06:52 AM
I just pasted in a embarcadero.public.delphi.non-technical post here about programming with the iPhone:


<Lance Rasmussen> wrote in message news:231666@forums.embarcadero.com...
> Sadly, looks like developing for the iPhone has just gotten tougher.
>
> http://daringfireball.net/2010/04/iphone_agreement_bans_flash_compiler
>
> Prior 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.
>
> In the new version of the iPhone Developer Program License Agreement released by Apple today (and which developers must agree to before downloading the 4.0 SDK beta), section 3.3.1 now reads:
>
> 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).
>
> So cross platform tools like Monotouch, Mono, Silverlight and Apcellerator look to be out.
>
> Having played with XCode and Objective-C for a bit... I really liked working with C# and Monotouch for the iPhone. Now.. forget about about...
>
> Maybe we need an Embarcadero Objective C compiler or work up a Mac version of C++ Builder that can target Mac and iPhone?
>
> Only word I can think of... iFAIL.

What a bummer dudes! :(

cheers,
Paul

Traveler
09-04-2010, 09:38 AM
Oh wow, that a huge turn off. I was kind of hoping we could eventually start developing for the iPhone. Perhaps we should go for Android now?

paul_nicholls
09-04-2010, 10:01 AM
Maybe we need a magical Pascal -> Objective-C converter to solve our problems :)

cheers,
Paul

alexione
09-04-2010, 10:45 AM
hm... Pascal -> C should be enough. Plus ObjectivePascal -> Objective-C ;-)

jdarling
09-04-2010, 12:30 PM
There has been a lot of talk going over section 3.3.1 on the Wax group over the past few hours/days. Since Wax is basically Lua for the iPhone but is still written in C (that's pure C) they are trying to decide exactly how this will affect the project.

General feeling in the group is most people (if this keeps up) are going to switch to Droid/HTC development. The feeling is that basically Apple is trying to put the hurt on projects like Corona SDK. The idea being that if you can only write in Obj-C then its harder to port an application to another platform.

IE: FPC definitely falls under the new exclusions and, yep, you can't put your pascal based projects into the iPhone app space nor (according to the OR switch) even run them on your own iPhone.

A pascal cross compiler is easily achievable (we did this while I was at block), but modifying FPC is the wrong mindset IMHO. If your going to build a cross compiler for pascal -> C or any other language then start from scratch. This lets you make use of (or at least surface some of) the stuff available in both languages that the other may or may not directly support.

All things considered, I'm surprised that Apple is making this move, ok, no I'm not.

If someone want's to have a serious go at building a language for the iPhone that crosses over to Obj-C I'm in, but if that's the move lets make it cross for HTC/Droid as well :)

- Jeremy

Stoney
09-04-2010, 02:45 PM
IE: FPC definitely falls under the new exclusions and, yep, you can't put your pascal based projects into the iPhone app space nor (according to the OR switch) even run them on your own iPhone.

Well, you can, the question is what Apple does, how and how often they control the apps that are being send to the Apple App Store.
I received my iPhone Developer Program the day before yesterday, so just having bad luck I guess ;)

Personally, I don't think the license agreement will hold up that long. Just take a look how much Unity games are in App Store at the moment and how many of them are in the top 10. Apple is publically speaking of the iPod Touch as the gaming device and competitor to Nintendo DS, PSP, etc.
Even big players like THQ and EA are using Unity as their IDE. If all Unity apps are going to be banned, the iPhone/iPod Touch/iPad loses a lot of its attractivity.

In only a few days there is going to be an Adobe event with CS5 as its major point and its new ability to compile to Apples' mobile devices which is now illegal thanks to the license agreement.

This new license agreement is affecting a lot of applications currently in the App Store and even more that being developed at the moment. In my opinion Apple is shooting itself in the foot if they keep up this new license agreement in the long-term run.

paul_nicholls
09-04-2010, 09:16 PM
There has been a lot of talk going over section 3.3.1 on the Wax group over the past few hours/days. Since Wax is basically Lua for the iPhone but is still written in C (that's pure C) they are trying to decide exactly how this will affect the project.

General feeling in the group is most people (if this keeps up) are going to switch to Droid/HTC development. The feeling is that basically Apple is trying to put the hurt on projects like Corona SDK. The idea being that if you can only write in Obj-C then its harder to port an application to another platform.

IE: FPC definitely falls under the new exclusions and, yep, you can't put your pascal based projects into the iPhone app space nor (according to the OR switch) even run them on your own iPhone.

A pascal cross compiler is easily achievable (we did this while I was at block), but modifying FPC is the wrong mindset IMHO. If your going to build a cross compiler for pascal -> C or any other language then start from scratch. This lets you make use of (or at least surface some of) the stuff available in both languages that the other may or may not directly support.

All things considered, I'm surprised that Apple is making this move, ok, no I'm not.

If someone want's to have a serious go at building a language for the iPhone that crosses over to Obj-C I'm in, but if that's the move lets make it cross for HTC/Droid as well :)

- Jeremy


Personally, I would love to help make a Pascal 'compiler' that creates and compiles C/C++ to make iPhone apps (not that I have an iPhone BTW LOL), or even HTC/Droid (haven't got one of those either haha).

It would be a great experience ;)

It depends on how much time I have to help though :)

cheers,
Paul

Momor
10-04-2010, 12:50 PM
Yeah this is a big concern, I already have 7 freepascal apps on the Apple Store and I'm about to publish a last one next week.

I think it's mainly focused on Flash (released in 2 days!), but it's still a problem for us, Unity, Mono-Touch and a few others.

de_jean_7777
10-04-2010, 02:33 PM
Whatever interest I had for developing for iPhone (and there was genuine interest) is now lost. I do not want to be forced to use tools I do not want. I see no sense in what they are trying to accomplish (make developers lives miserable?).

Stoney
10-04-2010, 03:14 PM
Personally I don't think Apple cares if there are now 10 or 20 FreePascal apps in their app store, so we should be somewhat safe if FreePascal won't the become new major programming language for iPhone App development.

Still, I think the new TOS (terms of service) leave some room for interpretation and don't forget it's a still a beta TOS and can change until the final release of iPhone OS 4. I wouldn't throw in the towel just yet. There is a lot of anger against Apple at the moment from a lot sides, and Apple doesn't clarify the new TOS clearly, just points to it and leaves a state of FUD (http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt).

WILL
11-04-2010, 07:27 AM
Something I just read on Delphi.org. Worth a read guys!

http://www.delphi.org/2010/04/monotouch-and-the-new-iphone-license/

Momor
11-04-2010, 07:59 PM
Still, I think the new TOS (terms of service) leave some room for interpretation and don't forget it's a still a beta TOS and can change until the final release of iPhone OS 4. I wouldn't throw in the towel just yet. There is a lot of anger against Apple at the moment from a lot sides, and Apple doesn't clarify the new TOS clearly, just points to it and leaves a state of FUD (http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt).


Hmm well it does not apply to OS4 target only, iTunes Connect asked me to sign this agreement before April 22th : "To maintain your ability to create new applications and upload binaries, the Agent of your developement team must log in to the iPhone Developer Program Portal to review and accept this agreement."

I'm just wondering at which point this is legal, I paid for a full year subscription to access the developer tools, it didn't imply I would auto-accept all the updates to the TOS ...

noeska
12-04-2010, 04:17 PM
Err apple only allows applications written in cpp to use its sdk? How do they check, do you need to hand in your sources also?

Stoney
12-04-2010, 05:09 PM
You don't need to upload the sources when submitting an app, but try to compare a C/C++/Objective-C executable with a FreePascal executable using a Hexeditor of your choice or their symbol dump generated with the "nm" utility. There are some differences there.

But nobody really knows how exactly and if Apple checks every submitted application.

paul_nicholls
12-04-2010, 10:50 PM
Here is another interesting link to do with this issue:

http://www.knowing.net/index.php/2010/04/09/using-mathematica-to-generate-the-elements-appebook/

cheers,
Paul

WILL
28-05-2010, 03:38 AM
Something noone has mentioned yet; http://www.apple.com/ca/hotnews/thoughts-on-flash/

Steve Jobs wrote a letter and posted it to all on the Apple website about his thoughts on Flash and the whole TOS issue. His reasons are "open" software standards vs commercial or "closed" software and how they would rather HTML5 and other more free and accessible technologies. Ok, fair enough. Flash is very commercial and of course, as Mr. Jobs says himself in this letter, it's pretty clunky and unstable in some ways. However in this light I don't think Apple should be throwing all the other 'babies' with the 'bath water' and from his own words neither does he. I think it would only be fair to contact Apple and point out that Free Pascal and Lazarus are open and free technologies, in both literal and higher principle terms. Their latest TOS obviously needs updating to prevent ousting any of these "open" and accessible technologies like FPC and Lazarus.

jdarling
28-05-2010, 12:32 PM
All love of Pascal aside, lets not forget that it isn't just FPC/Lazarus that are affected by this decision. Lua, GPP, GCC, and literally 1,000's (ok, maybe 100's) of other truly open languages have been affected as well. Jobs isn't going to change his standpoint based upon one little language/compiler (even if the foundation of the hardware was built on it).

There are already MANY organized groups of developers attempting to "re-open" the platforms via petitions, emails, and legal channels with little to no avail thus far. The real "issue" so far (at least IMHO) is that these attempts focus directly on a single implementation, language, or technology and try to leverage a specific business or technological need and/or advancement. If, in general, there were a push for the ability to have a compiler "approved", via Apple, this may work out better.

In the end, someone will figure out a way to add a new type of "App Store" to the devices that is not directly tied to Apples software, and once that happens Apple will find the iPad and iPhone in the same suite as Sony's PSP.

- Jeremy

Stoney
09-09-2010, 02:25 PM
Good news everyone. Developing with FreePascal (and with any other programming language for that matter) on the iPhone is not prohibited any more.

For more details see:
http://codeclimber.net.nz/archive/2010/09/09/Apple-relaxing-SDK-license-agreement-MonoTouch-and-Flash-officially-allowed.aspx
http://www.apple.com/pr/library/2010/09/09statement.html

The new changed agreement reads as follows:
3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.
(No more C/C++/Objective-C exclusivity in that clause.)

(Although, when I checked to accept the new agreements, there weren't any changes which was odd but the PDF agreement has been updated.)

chronozphere
09-09-2010, 06:15 PM
Just saw the news. Awesome! ;D

So I guess we, pascal devs, can now make fun iphone games and get rich! :butt: 8)

paul_nicholls
09-09-2010, 10:37 PM
Dang! You beat me to it Stoney! haha

I was just about to post what I found out :D

cheers,
Paul

WILL
10-09-2010, 12:14 AM
This is good news indeed!

May add points to my getting an iPod Touch instead of the Classic or Nano instead come the holidays. ;) Sitting in front of an iMac, this is something of a big deal to me as a Pascal developer.

noeska
11-09-2010, 05:25 PM
Ok the compiler hurdle is taken away for ios development. But ... are things like coredata and uitextview (and nibs) availeable with fpc?

Stoney
11-09-2010, 07:22 PM
But ... are things like coredata and uitextview (and nibs) availeable with fpc?


Yep they are. The only requirement is that you need to use the latest SVN revision of FreePascal and a FreePascal dialect called Objective-Pascal which can directly call Objective-C classes without any additional wrapper, library or layer.
For more information go to http://objectivepascal.com/. On Ryan's page there is a pretty handy Objective-Pascal installer which automatically checks out the latest SVN revision, compiles FreePascal and parses and creates all necessary Cocoa headers.