簡體   English   中英

PhoneGap 1.0應用程序提交到AppStore失敗

[英]PhoneGap 1.0 app Submit to AppStore fails

我們有一個使用PhoneGap 1.0版創建的舊應用。 由於所需的兩個iOS / JS代碼都發生巨大變化 ,因此絕對沒有機會遷移到最新的PhoneGap / Cordova。

嘗試上傳使用iOS SDK 6.1編譯的應用程序失敗,並顯示以下消息:“應用程序不允許訪問UDID,並且不得使用UIDevice的uniqueIdentifier方法。請更新您的應用程序和服務器,以將用戶與引入的供應商或廣告標識符相關聯在iOS 6中。”。

PhoneGap 1.0來源不公開,它作為已編譯框架分發。

有誰知道如何解決此問題?

瘋狂,但工作解決方案 (hack)

好了,一旦PhoneGap 1.0作為已編譯的庫提供,我們可以嘗試更改已編譯的二進制文件本身。

Apple拒絕的原因是對iOS 6中不推薦使用的[UIDevice uniqueIdentifier]方法的調用。如果您的應用(JS代碼)未使用PhoneGap提供的UDID(實際上,不知道有沒有辦法來獲得它),這是安全的( !?參見下面的“注意”,以將uniqueIdentifier的調用更改為其他任何返回UIDevice類的NSString的方法。

我已經使用+(NSString *)systemVersion-systemVersion屬性的獲取器。

因此,得到任何HEX編輯和打開文件:/users/Shared/PhoneGap/Frameworks/PhoneGap.framework/PhoneGap與systemVersion \\ 0 \\ 0 \\ 0替換唯一標識符

\\ 0-為零代碼字節,需要對齊新名稱的長度,該名稱要短3個字節!

重建您的應用程序,並且…將中提琴成功上傳到AppStore!

注意:當然,您必須檢查您的應用程序功能是否未損壞。 我為我的應用程序做了,它就像一個魅力。

不。 蘋果是您的問題。 您必須將PhoneGap更新到至少2.5,請參見此處發布: https : //shazronatadobe.wordpress.com/2013/05/01/cordovaphonegap-and-the-new-apple-app-store-requirements/

而且,您必須更新編寫的任何插件或本機才能不使用uuid。

我在使用phonegap 1.2.0時遇到了同樣的問題,但是上面的“ hack”對我不起作用-它給了我一個錯誤

ld: file is universal (3 slices) but does not contain a(n) armv7 slice:

因此,我找到了一個更簡單的解決方案-找到在安裝phonegap並打開它時安裝的PhoneGapLib.xcodeproj,然后搜索“ uniqueIdentifier”調用。

然后,我使用了以下代碼( https://stackoverflow.com/a/9458313/1851746 ),以替換UUID值-

- (NSString *)getUUID
{
    NSString *UUID = [[NSUserDefaults standardUserDefaults] objectForKey:@"uniqueID"];
    if (!UUID)
    {
        CFUUIDRef theUUID = CFUUIDCreate(NULL);
        CFStringRef string = CFUUIDCreateString(NULL, theUUID);
        CFRelease(theUUID);
        UUID = [(__bridge NSString*)string stringByReplacingOccurrencesOfString:@"-"withString:@""];
        [[NSUserDefaults standardUserDefaults] setValue:UUID forKey:@"uniqueID"];
    }
    return UUID;
}

使用[self getUUID]而不是uniqueIdentifier調用此方法是可行的,盡管由於某種原因,它會導致錯誤,並將后續值添加到phonegap版本的字典中。 因此,我只是在與上述相同的代碼塊中對此進行了硬編碼。

然后將目標更改為“ PhoneGap”,進行構建,然后轉到Products文件夾並在finder中打開位置,復制framework文件夾,並替換在Users / Shared / PhoneGap / Frameworks中找到的文件夾。

項目應編譯並被App Store接受

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM