Newbie wants to start on IOS

Monkey Targets Forums/iOS/Newbie wants to start on IOS

Midimaster(Posted 2013) [#1]
Hi,

since two years I'm now coding with Monkey on HTML5 and ANDROID, reading all relevant articles on monkeycoder, but never the IOS forum. So I can tell I'm a real newbie here.

Now my new android app Score-Trainer seems to be successful and a lot of people ask me to build an IOS version. So I plan to join the IOS world...

I have a WindowsPC with XP, a MAC MINI with OsX 10.5, and a IPad2 with WiFi. On the MAC MINI I have installed everything to build BlitzMax programs.

Here are my questions:

Is there any tutorial, about what I have to prepare to be able to start building monkey code for IPhone and Ipad?

Is the build of a "Hello World"-app the same for Iphone and Ipad?

Is there any simulator on the MAC MINI? How usable and fast is it? How do you test your apps normally?

Do I need a "IStore seller account" first to test my own apps? How to do?

Does the SDK for IOS has any sideeffects on the SDK for BlitzMax? I still need a possiblity to write BlitzMax apps on the MAC MINI.

Normally I write the app on Windows Monkey for HTML5, because the turn-around is so fast. Finally I test it on a ANDROID smartphone to find some last bugs. How big is the chance, that this code runs well on the Apple Monkey and on IOS? What are the typical problems i will run into?


therevills(Posted 2013) [#2]
From the last time I built for iOS using Monkey, all you really need is XCode on your Mac and Monkey.

Compile your app in Monkey as normal with the iOS target and Monkey will do its magic...

I can't remember if XCode opens after compile, but if it doesn't open up the XCode project Monkey generates and click the Run button in there.

The simulator is part of XCode and its super fast compared to the Android emulator!

Yes, you do need a developer account if you want to test on an actual device, but the simulator is good enough to get you started.

The chance that the code you wrote for Android in Monkey working on iOS is very high ;)

Once you are happy with the simulator running your game, I highly recommend testing it a proper real life device.


rIKmAN(Posted 2013) [#3]
When you want to start testing on your device and need to setup an Apple Developer Account, I'd recommend following the links in this post.

http://www.monkeycoder.co.nz/Community/posts.php?topic=4150

It took me from no account to running code on my device inside an hour.


Ironstorm(Posted 2013) [#4]
Imho IOS is a pain for developer. One simple mistake while installing those provisioning profiles and nothing will work without a full reset (except the simulator).

As therevills mentioned, you'll only need Xcode to run your app in the simulator. Which one is good. Not so fast as a real device, but faster than the android emulator.
Of course, to publish your app you've to set up more.

Currently I'm on the windows 8 target. But I've planned to write a simple tutorial about IOS, Xcode and monkey in the next few days.


ElectricBoogaloo(Posted 2013) [#5]
Beware the "other" stuff on iOS, too.

The amount of background garbage you have to do is phenomenal.
Not only is there all the nasty provision licenses, and dev-keys, and certificate-codes and other garbage, there's a whole extra pile of hidden codes and certificate gubbins when you want to actually "Distribute" your app.

nngh.

And then there's the icons.
I'm no artist, but Apple stipulate that their "iTunesArtwork.png" (ie the icon displayed in the AppStore) is a whopping 1024x1024 pixels in size.
For that piddly little icon!

And if you're thinking of adding GameCenter Achievements (which are nice and easy to code thanks to Mark's latest updates) you're going to be drawing 1024x1024 icons for each and every one of those, too. Oh, the joy!
Then you've gotta upload it all, image by image, and type in a whole lot of horrible nasty repetitive garbage for each and every one of them.
It isn't fun.
It's a horrible interface, and you'll want to punch Apple in the face for having made it like that.

.. But it works. Eventually.. And when it's all done you can finally sell your apps, and make your pennies. woot!


Midimaster(Posted 2013) [#6]
what about these certificates? What about signing the app? Will it be done inside monkeys building process? Or additinal manualy steps?

A question to XCode. Is this the same like for BitzMax?


FelipeA(Posted 2013) [#7]
Monkey doesn't sign the app for you. You have to open the Xcode project and add all the provisioning stuff and certificates. Sounds all scary but I actually got my account a couple of hours ago and my game is all ready for distribution. I don't know anything about uploading the game to the appstore, as I made this game for a client so he is in charge of that.


rIKmAN(Posted 2013) [#8]
For over-the-air distribution of your apps, to testers etc I can fully recommend TestFlight - great service which allows users to install your app by clicking a link in an email, no iTunes, no usb cable.

http://www.testflightapp.com


dragon(Posted 2013) [#9]
Can i use old mac mini with "Intel Core 2 Duo" ?
I really do not need a mac for daily use - only for app compiling.

And how good is the emulator?
Must i buy a ipod/iphone/ipad to test games?


FelipeA(Posted 2013) [#10]
You could just go full with the simulator but I would recommend buying a device, even if it's an ipod touch. This really gives you a feeling of how it looks and works.
About the simulator it's pretty good, at least better than android.


Midimaster(Posted 2013) [#11]
perhaps I'm too stupid...

I downloaded the first time in my live the V69 to my MacMini and copied the folder from "Downloads" to "Applications/MonkeyPro69/". Then I clicked on "Monkey.app" inside this folder... After a long time, I got a message, that TED was finished with this error message:


Process: Ted [166]
Path: /Applications/MonkeyPro69/bin/Ted.app/Contents/MacOS/Ted
Identifier: com.yourcompany.Ted
Version: ??? (???)
Code Type: X86-64 (Native)
Parent Process: launchd [65]

Interval Since Last Report: 130634 sec
Crashes Since Last Report: 13
Per-App Interval Since Last Report: 0 sec
Per-App Crashes Since Last Report: 2

Date/Time: 2013-04-22 15:33:56.171 +0200
OS Version: Mac OS X 10.5.8 (9L31a)
Report Version: 6
Anonymous UUID: 2427BC0A-5DEA-4400-B709-4ECAF5C8EAB2

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Crashed Thread: 0

Dyld Error Message:
Symbol not found: _OBJC_CLASS_$_CALayerHost
Referenced from: /Applications/MonkeyPro69/bin/Ted.app/Contents/MacOS/../Frameworks/QtWebKit.framework/Versions/4/QtWebKit
Expected in: /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore





What do I do wrong?


Midimaster(Posted 2013) [#12]
A short report from my experiments with Monkey on Mac:

I had a Mac Mini with OsX10.5 and Monkey V69 did not start on it.

Now I updated to OsX10.6 and "Xcode3.2 with SDKs for 10.6" andd Monkey works.

Because the OsX10.7 needs 2GB RAM, I cannot upgrade now to Lion. But I want to have XCode 4.2. There was a version for Snow Leopard, but the Apple Store only offers the version for Lion.

Does anybody has an idea, how to get XCode 4.2?


AdamRedwoods(Posted 2013) [#13]
Does anybody has an idea, how to get XCode 4.2?

The developer download section has it, make sure you log in with your id:
https://developer.apple.com/downloads


Midimaster(Posted 2013) [#14]
Yes, I've already seen that. But that's the "only Lion" version of Xcode 4.2....

I found informations, that this download will not work on a OsX10.6. What do you think?


Xaron(Posted 2013) [#15]
Yes it works only with Lion. Personally, as I don't get warm with Mac OS, I've setup VMWare with latest MacOS. Runs well in a windows under Windows 7. :)


rIKmAN(Posted 2013) [#16]
Yep, I can also confirm it runs well in VMWare under Windows 7 :)


Midimaster(Posted 2013) [#17]
When I answer here but only after a week, it's not because I'm inpolite. It's because time for installing something on a Mac is not counted in minutes or hours, but in days...

4.4GB of downloading Xcode needs 8 hours to germany. And installing again 5 hours. What the f... are these files containing?

At the end I have now XCode 3.2.6 for Mac OsX 10.6 and IOS 4.3, but...

...it is still not working!


I tested to compile a minimum monkey code...
Strict
Import mojo

Class Game Extends App

	Method OnCreate%()
		SetUpdateRate 15
		Return 0
	End	

	Method OnUpdate%()
		If KeyHit(KEY_ESCAPE) Then Error ""
		Return 0
	End	

	Method OnRender%()
		Cls
		Return 0
	End	
	
End

Function Main%()
	New Game
	Return 0
End


and got this error messages:




I'm completely frustated, because I don't understand a single line of this report. Is it really necessary, that a simple start of monkey can cause such a lot of problems?

The HTML5 target and the Glfw target works perfect. Both tested with "BouncyAliens.monkey" too.


What should be my next step now?