正如已經指出,你可以簡單地解壓縮和重新壓縮創建自己的ipa。
您還需要添加一些不需要代碼簽名的資源。
最好的辦法是在ipa中創建一個新的(空的)目錄。目錄本身沒有簽名,但在設備上解壓,可以通過您的代碼進行檢測。
換言之:包含簽名的CodeResources
文件在添加空目錄時不會更改。
一個簡單的測試,我只是做了,是要建立一個文件夾提及一個名爲「額外」的文件夾,裏面的內容都是使用百分號編碼解碼並顯示在彈出:
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];
}
這可以用來發送潛意識消息給你的代碼。編碼百分比可以讓你放入任何你喜歡的角色。我測試了多達100個字符的文件名長度。
您還需要一些代碼來動態地將空的目錄下的Payload/yourapp.app/extra/
添加到ipa,百分比編碼消息作爲它的文件名,例如, Payload/yourapp.app/extra/http%3A%2F%2Fstackoverflow.com%2F
更新:例如shell命令將目錄添加到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/
你當然需要每次創建IPA的全新副本,或網址,將堆積在裏面的IPA。
作爲一名企業傢伙讀到這個問題後,我頭腦中首先想到的是:爲什麼?你可以隨意解釋你的後端情況嗎? – Dan