[DEPRECATED] Experimental iOS port (LÖVE 0.9.2)

Discuss any ports of LÖVE to different platforms.
Locked
User avatar
slime
Solid Snayke
Posts: 2784
Joined: Mon Aug 23, 2010 6:45 am
Location: Nova Scotia, Canada
Contact:

[DEPRECATED] Experimental iOS port (LÖVE 0.9.2)

Post by slime » Wed Jan 15, 2014 1:45 am

NOTICE: This version of LÖVE for iOS is deprecated! Use the official iOS version of 0.10.0 or newer instead!

I've been developing an experimental port of LÖVE 0.9.2 to iOS.

It's a "true" port - aside from the internal components which needed explicit porting / different library backends, it uses all of the same code as the 'main' LÖVE repository. This means that most of the port's API will behave identical to 0.9.2, since the code is mostly the same.
That being said, it hasn't been tested comprehensively. Post in the thread if you have any issues!

Here's a picture of the 0.9 no-game screen running at a smooth vsync'd 60 FPS on my iPad 2:

Image

This port incorporates my common mobile branch of LÖVE 0.9.2 which adds support for OpenGL ES 2, a touch API, and a few other minor mobile-related things. That branch is also used in fysx' Android port of LÖVE 0.9.

Most of the API additions in the iOS port are also in the Android port, and are documented on its Wiki page.
These include:
  • love.touchpressed, love.touchreleased, love.touchmoved, love.touchgestured.
  • The love.touch module.
  • Enhancements to love.mousepressed and love.keyboard.setTextInput.
  • love.lowmemory callback function.
And more...


Building LÖVE for iOS

The code for the iOS port can be found in a branch of the love-experiments repository, here. You can download the files directly here.
In order to build properly, it needs some libraries. You'll need to put the 'include' and 'libraries' folders in this download (updated August 15, 2015) into the love/platform/ios/ folder.

To build the port, run the Xcode project in the ios platform folder.

I plan to provide friendlier ways of running LÖVE for iOS once the port is more mature.

Running .love games

To run a .love game with the port, you have a few options:

Running an unfused game with the iOS Simulator

With the iOS Simulator application open, drag the .love file onto the simulator and drop it. LÖVE will launch if it's not open already. If a game is already running, you may need to quit and re-launch LÖVE.

Running an unfused game on an iPhone / iPad

After LÖVE is built and installed on your iOS device, open iTunes, go to your iOS device which has LÖVE installed, go to the 'Apps' section, scroll down and find love, and add your .love to the Documents section. If LÖVE is currently running on the device you may need to quit and re-launch it.

Running a fused game in the Simulator or on a device

Before building LÖVE, drag your .love game into the 'Supporting Files' group visible in the iOS Xcode project. If you change the .love's contents, Xcode might not recognize changes to the .love until you do a full rebuild of the LÖVE code.


Issues and differences

This port has a few differences from desktop LÖVE 0.9.2 and a couple known issues:
  • Smooth points are not supported - rough points will always be used.
  • Shaders work, but the shading language is based on GLSL ES 1.0, which is a slightly more limited language than the version of GLSL (1.2) which LÖVE's shaders use on the desktop.
  • Some obscure image formats are not supported.
  • Some sound file formats (those normally handled by libmodplug) are not supported.
  • LuaJIT is used, but JIT compilation is disabled as per Apple's policies.
  • Fused games don't know they shouldn't be able to open .love files from the device. You can fix this by removing LÖVE Projects from the Document Types and Exported UTIs in the Info section of the love target pane in Xcode.

You can see the recent commits to the repository here: https://bitbucket.org/bartbes/love-expe ... branch/iOS
Last edited by slime on Sat Jan 16, 2016 12:59 pm, edited 21 times in total.

User avatar
norubal
Party member
Posts: 122
Joined: Tue Jan 15, 2013 5:55 am

Re: Experimental iOS port (LÖVE 0.9.x)

Post by norubal » Wed Jan 15, 2014 4:42 am

Cool! the only one thing is, I don't have any iOS device.. :death:
I'm counting on official stable android release, so I can make standalone love game.

bekey
Party member
Posts: 255
Joined: Tue Sep 03, 2013 6:27 pm

[]

Post by bekey » Wed Jan 15, 2014 10:35 am

-snip-
Last edited by bekey on Fri Jan 24, 2014 2:19 am, edited 2 times in total.

User avatar
SiENcE
Party member
Posts: 769
Joined: Thu Jul 24, 2008 2:25 pm
Location: Berlin/Germany
Contact:

Re: Experimental iOS port (LÖVE 0.9.x)

Post by SiENcE » Wed Jan 15, 2014 6:24 pm

I really need to get an real Mac to fill my iPad with love :).

Is it planned to include it into the official löve?

jjmafiae
Party member
Posts: 1333
Joined: Tue Jul 24, 2012 8:22 am

Re: Experimental iOS port (LÖVE 0.9.x)

Post by jjmafiae » Wed Jan 15, 2014 6:33 pm

can you only do this on mac? :o:
My Itch.io Games (Not up to date)
My Website

User avatar
Ranguna259
Party member
Posts: 911
Joined: Tue Jun 18, 2013 10:58 pm
Location: I'm right next to you

Re: Experimental iOS port (LÖVE 0.9.x)

Post by Ranguna259 » Wed Jan 15, 2014 6:40 pm

Yeah, mac osx only restriction is a pain.. Good thing VirtualBox exists

I haven't tested this yet but awesome work, I hope both this and fysx android port get to be official and since you (slime, a Dev) are actualy working on a port then it's highly likely that a future version of our favourite framework gets Android and iOS support :crazy:
LoveDebug- A library that will help you debug your game with an on-screen fully interactive lua console, you can even do code hotswapping :D

Check out my twitter.

jjmafiae
Party member
Posts: 1333
Joined: Tue Jul 24, 2012 8:22 am

Re: Experimental iOS port (LÖVE 0.9.x)

Post by jjmafiae » Wed Jan 15, 2014 6:57 pm

Ranguna259 wrote:Yeah, mac osx only restriction is a pain.. Good thing VirtualBox exists

I haven't tested this yet but awesome work, I hope both this and fysx android port get to be official and since you (slime, a Dev) are actualy working on a port then it's highly likely that a future version of our favourite framework gets Android and iOS support :crazy:
Did you notice that slime actually made this post?
My Itch.io Games (Not up to date)
My Website

User avatar
slime
Solid Snayke
Posts: 2784
Joined: Mon Aug 23, 2010 6:45 am
Location: Nova Scotia, Canada
Contact:

Re: Experimental iOS port (LÖVE 0.9.x)

Post by slime » Wed Jan 15, 2014 7:01 pm

SiENcE wrote:Is it planned to include it into the official löve?
Maybe, we'll see.
jjmafiae wrote:Did you notice that slime actually made this post?
I would assume so, since he said "you" when referring to me. :)

jjmafiae
Party member
Posts: 1333
Joined: Tue Jul 24, 2012 8:22 am

Re: Experimental iOS port (LÖVE 0.9.x)

Post by jjmafiae » Wed Jan 15, 2014 7:08 pm

i sorry, i completely missed that XD
My Itch.io Games (Not up to date)
My Website

User avatar
SiENcE
Party member
Posts: 769
Joined: Thu Jul 24, 2008 2:25 pm
Location: Berlin/Germany
Contact:

Re: Experimental iOS port (LÖVE 0.9.x)

Post by SiENcE » Wed Jan 15, 2014 10:38 pm

Can you tell a bit more about compiling your port. When I try i get nearly 290 errors. All libraries are found.

I get:
-Unrecognized command line option "-std=c11"
-Wuninitialized is not supported wihtout -O
-aso. ... i cannot copy/past out of the vm.

I use a VM with XCode 3.2.6 on MacOSX 10.6.8.

Running the iLove2D port was no problem.

Locked

Who is online

Users browsing this forum: No registered users and 0 guests