iOS-Guideline 2.5.2 - Performance - Software Requirements問題

最近上架更新版本的時(shí)候,又被拒了。哎,審核被拒次數(shù)多了,習(xí)慣了。日常查看反饋原因,有道翻譯被拒內(nèi)容。

2.5.2被拒.png

一看郵件內(nèi)容,我去,不得了啊。大致內(nèi)容:您的應(yīng)用程序使用itms-services URL計(jì)劃安裝一個(gè)應(yīng)用程序。還說我的應(yīng)用之后會(huì)被延期審核。
一臉懵逼,然后仔細(xì)回想:
1.猜想是不是因?yàn)槌绦蚶飳懥艘粋€(gè)版本更新提示的原因呢?(之前在Appdelegate.m文件中寫了一個(gè)對(duì)比當(dāng)前版本與蘋果商店最新版本的方法,若當(dāng)前不是最新版本,則提示用戶“有新的版本更新,請(qǐng)前往AppStore更新”,僅僅是一個(gè)提示而已,并不是熱更新)這個(gè)理由連我自己都說服不了,果斷排除。
2.猜想是不是項(xiàng)目中的屏蔽審核被發(fā)現(xiàn)了呢?(之前為了躲避IAP蘋果內(nèi)購的問題,在Appdelegate.m文件中寫了一個(gè)檢測(cè)當(dāng)前時(shí)間是否為審核期間的方法,以此來決定支付頁面是否要跳轉(zhuǎn)IAP內(nèi)購頁面)這個(gè)方法是通過后臺(tái)提供的一個(gè)接口實(shí)現(xiàn)的,于是趕緊瀏覽器訪問了一下這個(gè)接口,發(fā)現(xiàn)是正常的,而且這個(gè)也與郵件描述不一致,所以也排除。
3.網(wǎng)上查找資料說:大概是由于引入某些第三方SDK時(shí),SDK中帶有類似的安裝程序代碼,建議排查所有的SDK,建議移除所有不用的SDK。于是,瘋狂一頓查,最后廢了好大勁,真的找到了,在即時(shí)通訊代碼的一個(gè)getVersionInfo類方法中。

+ (void)getVersionInfo:(void (^)(BOOL, NSString *))completeBlock{
    [RCDLoginAPI getVersionInfo:^(NSDictionary *versionInfo) {
        if (versionInfo) {
            BOOL isNeedUpdate = [[versionInfo objectForKey:@"isNeedUpdate"] boolValue];
            NSString *finalURL = nil;
            if (isNeedUpdate) {
                //獲取系統(tǒng)當(dāng)前的時(shí)間戳
                NSDate *dat = [NSDate dateWithTimeIntervalSinceNow:0];
                NSTimeInterval now = [dat timeIntervalSince1970] * 1000;
                NSString *timeString = [NSString stringWithFormat:@"%f", now];
                //為html增加隨機(jī)數(shù),避免緩存。
                NSString *applist = [versionInfo objectForKey:@"applist"];
                applist = [NSString stringWithFormat:@"%@?%@", applist, timeString];
                finalURL = [NSString stringWithFormat:@"itms-services://?action=download-manifest&url=%@", applist];
            }
            if (completeBlock) {
                completeBlock(isNeedUpdate, finalURL);
            }
        }
    }];
}

然后我想說:我就是個(gè)笨蛋,郵件里明明提出了itms-services這個(gè)違規(guī)關(guān)鍵字,我竟然沒有想到去全局搜索一下。所以正確的做法是:直接在 “Find>Text>Containing”中搜索“itms-services”,即可直接鎖定問題代碼位置。


itms-services.png

當(dāng)然,為了保險(xiǎn)起見,我還全局搜索了所有調(diào)用getVersionInfo方法的代碼,并做了相應(yīng)的屏蔽處理。
最后,我還有一個(gè)疑問:當(dāng)時(shí)即時(shí)通訊功能剛剛完成,本次更新版本的時(shí)候,我還把即時(shí)通訊入口給屏蔽了,也就是說,我的安裝包根本不可能執(zhí)行到這句代碼,那么蘋果審核是怎么查到的呢?蘋果審核已經(jīng)這么強(qiáng)大了嗎?已經(jīng)可以檢測(cè)到我程序內(nèi)的代碼了???

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容