[tahoe-lafs-trac-stream] [Tahoe-LAFS] #996: make it easier to build the iPhone client for a jailbroken iPhone using open-source toolchain

Tahoe-LAFS trac at tahoe-lafs.org
Thu Jan 16 20:00:11 UTC 2020


#996: make it easier to build the iPhone client for a jailbroken iPhone using
open-source toolchain
----------------------------------+----------------------------
     Reporter:  davidsarah        |      Owner:  somebody
         Type:  defect            |     Status:  closed
     Priority:  major             |  Milestone:  eventually
    Component:  packaging         |    Version:  1.6.0
   Resolution:  cannot reproduce  |   Keywords:  iphone install
Launchpad Bug:                    |
----------------------------------+----------------------------
Changes (by exarkun):

 * status:  new => closed
 * resolution:   => cannot reproduce


Old description:

> [http://allmydata.org/pipermail/tahoe-dev/2010-March/004132.html Marco
> Bonetti's report of building the iPhone client with open-source tools:]
>
> Right now I'm focused on the iPhone client: it's extremely cool to
> have one, unfortunately (unless I'm missing something really obvious)
> looks like you're distributing it as Xcode source only.
>
> This is somehow limiting for the distribution of the program: if I'd
> want to run it on my phone I'd have to build it on a Mac and spend
> something like $99 yearly to be able to install the binaries on a
> provisioned phone. So I tried to build it using the open source
> toolchain on Linux for jailbroken iPhones and... well, let's just say I
> can build it ;-)
>
> I come up with the attached Makefile but I have very limited code and
> makefiles writing skills, if someone will help me with the code
> building process we can probably adapt the Xcode project to be built
> with open toolchains too.
>
> Usage is not immediate: once you have a working open toolchain, {{{darcs
> get}}} the sources, then you have to copy the Makefile and the small bash
> script launcher in the AllMyData folder. At this point a "{{{make
> bundle}}}" will start the building process, with lots of problems so far:
>
>  - looks like my toolchain doesn't like C99 style definitions in the
> {{{for}}} loops, it's just a matter of moving the "{{{int i = 0;}}}" out
> of the loop. Really annoying though and, probably, a problem on my side
> as it's supposed to be supported in the official toolchain
>
>  - I get a LOTS of warning about methods which couldn't be recognized,
> this is usually a problem which arise when you're not correctly including
> all the needed headers and framework, I read the project plist fle to get
> them, but I'm probably missing something
>
>  - I'm copying *.png and *.xib inside the main application folder but I
> should probably create a subfolder, who knows? :D
>
>  - you've to link (or move) main.m inside Classes/, this is all for my
> suckiness at writing Makefiles
>
>  - it would be nice to have binaries and bundle built in build/ and not
> in the sources root, same reason as above ;-)
>
> So, what are the results? Well, I can build the application somehow
> and I can deploy it on jailbroken phone but, upon start, I can only see
> the phone background. I think that the binary either fails to load needed
> xibs (misplaced?) or the functions used are not the right one (the
> warnings generated during compilation).
>
> By the way, another option for providing binaries should be that of
> building the application bundle with Xcode, signing the binary with
> ldid and zipping everything up. But I don't know if this will get the
> iphone client developer in troubles with Apple and their sdk
> agreement.

New description:

 [http://allmydata.org/pipermail/tahoe-dev/2010-March/004132.html Marco
 Bonetti's report of building the iPhone client with open-source tools:]

 Right now I'm focused on the iPhone client: it's extremely cool to
 have one, unfortunately (unless I'm missing something really obvious)
 looks like you're distributing it as Xcode source only.

 This is somehow limiting for the distribution of the program: if I'd
 want to run it on my phone I'd have to build it on a Mac and spend
 something like $99 yearly to be able to install the binaries on a
 provisioned phone. So I tried to build it using the open source
 toolchain on Linux for jailbroken iPhones and... well, let's just say I
 can build it ;-)

 I come up with the attached Makefile but I have very limited code and
 makefiles writing skills, if someone will help me with the code
 building process we can probably adapt the Xcode project to be built
 with open toolchains too.

 Usage is not immediate: once you have a working open toolchain, {{{darcs
 get}}} the sources, then you have to copy the Makefile and the small bash
 script launcher in the AllMyData folder. At this point a "{{{make
 bundle}}}" will start the building process, with lots of problems so far:

  - looks like my toolchain doesn't like C99 style definitions in the
 {{{for}}} loops, it's just a matter of moving the "{{{int i = 0;}}}" out
 of the loop. Really annoying though and, probably, a problem on my side as
 it's supposed to be supported in the official toolchain

  - I get a LOTS of warning about methods which couldn't be recognized,
 this is usually a problem which arise when you're not correctly including
 all the needed headers and framework, I read the project plist fle to get
 them, but I'm probably missing something

  - I'm copying *.png and *.xib inside the main application folder but I
 should probably create a subfolder, who knows? :D

  - you've to link (or move) main.m inside Classes/, this is all for my
 suckiness at writing Makefiles

  - it would be nice to have binaries and bundle built in build/ and not in
 the sources root, same reason as above ;-)

 So, what are the results? Well, I can build the application somehow
 and I can deploy it on jailbroken phone but, upon start, I can only see
 the phone background. I think that the binary either fails to load needed
 xibs (misplaced?) or the functions used are not the right one (the
 warnings generated during compilation).

 By the way, another option for providing binaries should be that of
 building the application bundle with Xcode, signing the binary with
 ldid and zipping everything up. But I don't know if this will get the
 iphone client developer in troubles with Apple and their sdk
 agreement.

--

Comment:

 It is very cool to learn that there was a Tahoe-LAFS iPhone app.
 Unfortunately, "was" appears to be the operative word.  I cannot find this
 on the internet.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/996#comment:2>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list