ios - Dynamically change a .ipa file on server -
i have .ipa file (ios app) i'm letting users install ad-hoc (over air on private server, using enterprise account).
challenge apps differentiate bit app app. have different logos , different url use inside app.
is possible dynamically change .ipa file have on server before people download it?
further explanation:
i have stress, can't make .ipa file each app. have able change start screen, logo , set url variable single .ipa file.
i other words, need dynamically change .ipa file on server each time wants download it.
what love have:
i love have example/guide on how on heroku or amazon server. nothing fancy. changing variable in info.plist , codesign again afterwards.
as has been stated can unzip , zip again create own ipa.
all further need add resources don't need code signing.
your best bet create new (empty) directory in ipa. directories not signed, extracted on device , can detected code.
in other words: coderesources
file containing signatures not change when adding empty directory.
a simple test did, create folder reference folder called "extra", contents of decoded using percent encoding , displayed in popup:
nsstring *path = [[nsbundle mainbundle] pathforresource:@"extra" oftype:@""]; nsdirectoryenumerator *direnum = [[nsfilemanager defaultmanager] enumeratoratpath:path]; nsstring *f; while (f = [direnum nextobject]) { nsstring *decoded = [f stringbyreplacingpercentescapesusingencoding:nsutf8stringencoding]; uialertview *alert = [[[uialertview alloc] initwithtitle:nil message:decoded delegate:nil cancelbuttontitle:@"ok" otherbuttontitles:nil] autorelease]; [alert show]; }
this can used send subliminal messages code. percent encoding allows put in character like. tested filename lengths 100 chars.
all further need code dynamically add empty directory under payload/yourapp.app/extra/
ipa, percent encoded message filename, e.g. payload/yourapp.app/extra/http%3a%2f%2fstackoverflow.com%2f
update: example shell commands add directory ipa:
$ mkdir -p payload/myapp.app/extra/http%3a%2f%2fstackoverflow.com%2f $ zip -r myapp.ipa payload/ updating: payload/ (stored 0%) updating: payload/myapp.app/ (stored 0%) updating: payload/myapp.app/extra/ (stored 0%) adding: payload/myapp.app/extra/http%3a%2f%2fstackoverflow.com%2f/ (stored 0%) $ rm -r payload/
you of course need create clean copy of ipa every time, or urls pile under /extra/
inside ipa.
Comments
Post a Comment