make it easier to build the iPhone client for a jailbroken iPhone using open-source toolchain #996
Labels
No Label
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.7.0
0.8.0
0.9.0
1.0.0
1.1.0
1.10.0
1.10.1
1.10.2
1.10a2
1.11.0
1.12.0
1.12.1
1.13.0
1.14.0
1.15.0
1.15.1
1.2.0
1.3.0
1.4.1
1.5.0
1.6.0
1.6.1
1.7.0
1.7.1
1.7β
1.8.0
1.8.1
1.8.2
1.8.3
1.8β
1.9.0
1.9.0-s3branch
1.9.0a1
1.9.0a2
1.9.0b1
1.9.1
1.9.2
1.9.2a1
LeastAuthority.com automation
blocker
cannot reproduce
cloud-branch
code
code-dirnodes
code-encoding
code-frontend
code-frontend-cli
code-frontend-ftp-sftp
code-frontend-magic-folder
code-frontend-web
code-mutable
code-network
code-nodeadmin
code-peerselection
code-storage
contrib
critical
defect
dev-infrastructure
documentation
duplicate
enhancement
fixed
invalid
major
minor
n/a
normal
operational
packaging
somebody else's problem
supercritical
task
trivial
unknown
was already fixed
website
wontfix
worksforme
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Reference: tahoe-lafs/trac-2024-07-25#996
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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 toolchainI 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.
Attachment Makefile (1691 bytes) added
Attached Makefile with C99 fix and no more need to link main.m into Classes/
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.