一、蘋果發(fā)布新版本更新導(dǎo)致的問(wèn)題
1.1 iOS14新增是否允許用戶跟蹤彈窗AppTrackingTransparency;
解決方案:新版本系統(tǒng)問(wèn)題,回復(fù)客服必須到系統(tǒng)設(shè)置頁(yè)面打開全局允許用戶跟蹤按鈕,這樣APP就會(huì)顯示彈窗是否允許跟蹤了,并提供截圖;后期的代碼處理在 applicationDidBecomeActive.m方法中添加
if (@available(iOS 14, *)) {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
if (status != 3) {
// NSLog(@"未獲取授權(quán)");
}
}];
}
注:小編親測(cè)在 didFinishLaunchingWithOptions方法中添加不一定好使,建議還是在上面的方法添加判斷。
1.2 蘋果發(fā)布新特性后,原來(lái)的方法就可能過(guò)期造成不再可用
解決方案:在蘋果發(fā)布會(huì)后,密接注意蘋果發(fā)布的新特性,將需要修改的內(nèi)容全部替換為最新的方法,必要的時(shí)候添加蘋果系統(tǒng)版本的判斷;
- eg1:
iOS16發(fā)布后,在蒲公英測(cè)試的時(shí)候,下載APP打開時(shí)提醒必須打開系統(tǒng)開發(fā)者模式才可訪問(wèn)測(cè)試APP,用戶可前往 【設(shè)置->隱私與安全性->開發(fā)者模式】 打開開發(fā)者模式開關(guān),重啟手機(jī)后即可訪問(wèn)。 - eg2:
iOS15發(fā)布后,初始化UITableView用UITableViewStylePlain樣式,發(fā)現(xiàn)sectionHeader增高了22px,原因是iOS15的UITableView新增了一條新屬性:sectionHeaderTopPadding, 默認(rèn)會(huì)給每一個(gè)sectionHeader增加一個(gè)高度。
// 解決方案:如果不想要這個(gè)高度,就在代碼里面添加以下設(shè)置
if (@available(iOS 15.0, *)){
self.tableView.sectionHeaderTopPadding = 0;
}
- eg3:
iOS14發(fā)布后 不允許使用KVC訪問(wèn)眾多私有屬性
// iOS14不允許以KVC形式訪問(wèn) UIPageControl的pageImage、_currentPageImage等等
// 解決方案:根據(jù)系統(tǒng)版本添加新判斷
if (@available(iOS 14.0,*)) {
pageControl.preferredIndicatorImage = [self imageWithColor:[UIColor whiteColor]];
pageControl.currentPageIndicatorTintColor = [UIColor redColor];
pageControl.pageIndicatorTintColor = [UIColor blueColor];
}else{
[pageControl setValue:[UIImage imageNamed:@"pageControllDot"]forKeyPath:@"pageImage"];
[pageControl setValue:[UIImage imageNamed:@"pageControllCurrent"]forKeyPath:@"currentPageImage"];
}
二、隱私政策合規(guī)導(dǎo)致的問(wèn)題
2.1 測(cè)試賬號(hào)問(wèn)題:提供給蘋果客服的測(cè)試賬號(hào)無(wú)法進(jìn)行內(nèi)購(gòu)被拒
解決方案:更換可以正常內(nèi)購(gòu)使用的普通賬號(hào),提供給蘋果客服的測(cè)試賬號(hào)權(quán)限一定要掌握好,必須是干凈的賬號(hào),數(shù)據(jù)內(nèi)容無(wú)異常的賬號(hào);
2.2 游客登錄問(wèn)題:一直拖了很久沒(méi)添加該功能,回復(fù)客服功能都是定制化的功能需要綁定用戶(打電話溝通了很久,臺(tái)灣的客服),這次審核比較嚴(yán)格,必要添加該功能。
解決方案:游客利用手機(jī)標(biāo)識(shí)符進(jìn)行默認(rèn)的注冊(cè)登錄APP生成token訪問(wèn)APP(至于游客的數(shù)據(jù)是否要和登錄后的正式賬號(hào)進(jìn)行綁定,取決于需求);還有游客的方式也可以根據(jù)場(chǎng)景選擇:1.在登錄頁(yè)面放一個(gè)游客登錄的按鈕 2.打開APP時(shí)直接進(jìn)行游客登錄,進(jìn)入到某些需要和用戶綁定的功能時(shí)再提醒用戶登錄;
2.3 第三方登錄問(wèn)題:蘋果要求
解決方案:加了微信登錄等第三方登錄,就必須加蘋果登錄,并且微信登錄后是否綁定手機(jī)號(hào)必須是可選。
2.4 數(shù)據(jù)訪問(wèn)問(wèn)題:IP限制
問(wèn)題背景:蘋果客服反應(yīng)打開APP后全部白屏,由于審核人員可能是美國(guó)地區(qū)的,也有可能是中國(guó)大陸的,后來(lái)了解到為了防止服務(wù)器被攻擊(之前有過(guò)國(guó)外的IP頻繁請(qǐng)求接口的先例),技術(shù)后臺(tái)限制了IP只能是中國(guó)大陸訪問(wèn)
解決方案:在上線前將IP訪問(wèn)限制去掉,上線后再做IP訪問(wèn)限制
2.5 資質(zhì)問(wèn)題:新聞?lì)悇e的需要版權(quán)資質(zhì)
解決方案:第三方新聞?lì)悇e的數(shù)據(jù)頁(yè)面訪問(wèn)必須提供快照頁(yè)面,顯示并注明文章來(lái)源,最好是有網(wǎng)站新聞icp備案,在訪問(wèn)第三方網(wǎng)站時(shí)最好添加提醒說(shuō)明文案 【eg.您正在訪問(wèn)的是第三方網(wǎng)站,XX不對(duì)該網(wǎng)站的內(nèi)容以及真實(shí)性負(fù)責(zé),請(qǐng)注意信息及財(cái)產(chǎn)安全】
2.6 內(nèi)購(gòu)限制問(wèn)題:邀請(qǐng)用戶參加活動(dòng)送會(huì)員
問(wèn)題背景:蘋果不允許除內(nèi)購(gòu)以外的任何送會(huì)員方式
處理方案:把所有的送會(huì)員方式改為送體驗(yàn)權(quán)限;針對(duì)這種內(nèi)購(gòu)購(gòu)買的,參照愛奇藝、優(yōu)酷等建議可以和PC端打通,在PC端掃碼購(gòu)買,然后在APP上使用;避開內(nèi)購(gòu)。
2.7 XX世界杯競(jìng)猜活動(dòng):涉嫌違規(guī)
問(wèn)題背景:蘋果回復(fù)在世界杯舉辦期間,世界杯競(jìng)猜送會(huì)員活動(dòng)涉嫌賭博,禁止上架。我們關(guān)閉了部分活動(dòng)入口,引起了蘋果審核的反感,蘋果那邊找到了所有的入口,被拒,回復(fù)了客服的問(wèn)題后,蘋果進(jìn)行了延遲審核,再次審核后更加嚴(yán)格;
處理方案:1.上線前關(guān)閉所有入口,后臺(tái)加開關(guān)控制【注:如果蘋果審核審查到該種行為,會(huì)進(jìn)行警告,嚴(yán)重的可能回下架APP,如果是因?yàn)檫`規(guī)問(wèn)題下架的APP,該賬號(hào)下的APP審核也會(huì)收到影響,甚至永久封禁該賬號(hào)】;2.直接下架該功能;
2.8 集成第三方SDK鏈接:里面有第三方購(gòu)買
處理方案:接入了第三方的課程類鏈接,里面有第三方微信支付寶的購(gòu)買課程,被拒,建議上線前關(guān)閉所有入口,后臺(tái)加開關(guān)控制訪問(wèn)權(quán)限后者直接替換訪問(wèn)鏈接。
2.9 一鍵登錄失敗問(wèn)題:一鍵登錄依賴國(guó)內(nèi)三大運(yùn)營(yíng)商流量服務(wù)
解決方案:如果登錄失敗,可能因?yàn)榫W(wǎng)絡(luò)信號(hào)原因,可切換WIFI或者4G重試,也可以切換登錄賬號(hào),并且請(qǐng)確保在設(shè)置中設(shè)置了允許APP使用蜂窩數(shù)據(jù)和WLAN;一鍵登錄使用的流量服務(wù)必須是中國(guó)聯(lián)通,中國(guó)移動(dòng)或者中國(guó)電信的運(yùn)營(yíng)商,國(guó)外暫不支持一鍵登錄
2.10 賬號(hào)注銷功能:并且必須容易進(jìn)行賬號(hào)注銷,
問(wèn)題背景:
- 2022 年 6 月 30 日起,蘋果發(fā)文所有支持創(chuàng)建帳戶的應(yīng)用程序都需要具備刪除帳戶的功能。在新規(guī)中也表示:應(yīng)用程序必須提供完全刪除用戶賬戶(注銷賬戶)的選項(xiàng),而不僅僅是禁用或退出登錄,蘋果要求所有與該帳戶相關(guān)的個(gè)人數(shù)據(jù)必須被刪除;
- 相關(guān)部門發(fā)文為了隱私政策合規(guī)必須添加賬號(hào)注銷功能;
解決方案:添加賬號(hào)注銷功能,解釋說(shuō)明賬號(hào)注銷的不可逆性和二次確認(rèn),說(shuō)明注銷后要清除所有的賬號(hào)信息和訪問(wèn)記錄。
2.11 隱私政策合規(guī)細(xì)則問(wèn)題:添加第三方SDK目錄列表
解決方案:為了用戶的信息安全,在APP隱私政策中添加第三方SDK目錄,介紹SDK名稱,使用目的,收集數(shù)據(jù)類型,SDK官網(wǎng)鏈接