3 分鐘搭建 App Store 動(dòng)態(tài)審核開關(guān)

希望大家不要欺騙 App Store Review Team,但是近來的 Uber 審核事件锐锣,以及發(fā)生在我個(gè)人身上的 審核團(tuán)隊(duì)不對我的長篇詳細(xì)辯解作正面回答先嬉,且無限期推遲我的 App 審核的事情發(fā)生后煌寇,我徹底對這個(gè)團(tuán)隊(duì)沒有了尊重,作為能力有限的個(gè)人開發(fā)者淑翼,我會(huì)選擇通過一定的技術(shù)手段來欺騙審核團(tuán)隊(duì)腐巢。

  • 審核團(tuán)隊(duì)身在北美,如果你的 app
  • 不需要支持北美地區(qū)玄括,并且有地理位置獲取權(quán)限冯丙,那么直接通過地理位置進(jìn)行開關(guān)即可
  • 通過系統(tǒng)時(shí)區(qū)判斷對方位置已經(jīng)被證明不可行
  • 預(yù)判審核時(shí)間,進(jìn)行硬編碼的開關(guān)遭京,可能會(huì)導(dǎo)致審核比較快的時(shí)候胃惜,項(xiàng)目已經(jīng)上線,但是無法發(fā)布給用戶(審核開關(guān)還是打開的狀態(tài)哪雕,用戶得不到審核不允許通過的功能)

這里介紹一個(gè)為沒有后臺可用的 app 快速搭建動(dòng)態(tài)審核開關(guān)的方法:

  • 新建一個(gè) public 的 GitHub Repo船殉,倉庫里面有沒有東西都無所謂,重點(diǎn)在于你可以通過新建斯嚎、刪除倉庫的方式利虫,來遠(yuǎn)程控制一個(gè)開關(guān):即這個(gè)倉庫的地址(比如 www.github.com/yourName/repoName)是否可以訪問
  • 如果你的 app 不能訪問 www.github.com 這個(gè) host(比如斷網(wǎng))挨厚,或者可以訪問這個(gè) host 并且你的倉庫地址也可以成功訪問,則說明正在審核糠惫,你可以關(guān)掉一些可能導(dǎo)致你的 app 被拒的功能疫剃;如果 GitHub 可以訪問,但是你的倉庫不能訪問硼讽,說明你已經(jīng)在審核通過之后刪掉了這個(gè)倉庫巢价,則用戶手里的 app 可以解鎖那些特定的功能(www.github.com 目前沒有被墻,但是 www.gist.github.com 被墻理郑,所以才用新建倉庫而不是新建 gist 的方式)
  • 因?yàn)?app 可能還會(huì)更新蹄溉,不能因?yàn)槟阆乱粋€(gè)版本的 app 正在審核,就把之前版本的 app 里面的功能禁用您炉,所以你新建的倉庫需要最好可以和版本號建立一個(gè)映射柒爵,比如一個(gè)叫 happy 的 app,現(xiàn)在上傳了 0.0.1 版本的構(gòu)建赚爵,那么倉庫名可以是 happy001棉胀,下一個(gè)版本用 happy002 這個(gè)名字建立倉庫。
  • 每次都需要用戶訪問 github 才可以解鎖正常功能冀膝,不是一個(gè)很好的解決方式唁奢,可以預(yù)估一個(gè)相對寬松的審核時(shí)間,比如預(yù)估 10 天后 app 一定是可以通過審核的窝剖,那么可以硬編碼一下麻掸,時(shí)間過了 10 天之后,就不用動(dòng)態(tài)審核的機(jī)制赐纱,直接解鎖那些可能導(dǎo)致被拒的功能脊奋。
  • 上面介紹的方法,能不用就不用疙描,能少用就少用诚隙,還需自行評估風(fēng)險(xiǎn)哦~

下面使用 Swift + Alamofire 提供一份代碼示例

import UIKit
import Alamofire

class Cheater {

    // 審核開關(guān)自動(dòng)配置
    class func autoConfig() {
        Alamofire.request("www.github.com/yourName/repoName")
            .validate().responseData { response in
            switch response.result {
            case .success:
                print("repo exist")
                setIsOff(0)
            case .failure(let error):
                print(error)
                setIsOff(1)
            }
        }
    }

    class func setIsOff(_ value:Int) {
        if value == 1 {
            print("已通過審核")
        }else {
            print("未通過審核")
        }
        UserDefaults.standard.set(value, forKey: "wbdswitch")
    }

    class func isOff() -> Bool {
        if dateIsAfter(20171115) {
            return true
        }
        let num = UserDefaults.standard.integer(forKey: "wbdswitch")
        return (num == 1)
    }
}

fileprivate func dateIsAfter(_ dateNum: Int) -> Bool {
    let formatter = DateFormatter()
    formatter.dateFormat = "YYYYMMdd"
    formatter.timeZone = TimeZone(abbreviation: "CHN")
    if let current = Int(formatter.string(from: Date())), current >= dateNum {
        return true
    }else {
        return false
    }
}

上面這份代碼,實(shí)現(xiàn)了利用 www.github.com/yourName/repoName 這個(gè)地址進(jìn)行開關(guān)的功能起胰,并且在日期晚于 2017年11月15日時(shí)久又,會(huì)直接解鎖功能。你可以把可能導(dǎo)致 App 被拒的功能放在如下代碼塊里:

if Cheater.isOff() {
    print("審核已經(jīng)通過")
}

并通過

Cheater.autoConfig()

行開關(guān)的配置效五,可以放在 AppDelegate 或者其他 selector 里面地消。

原作者: KyXu

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市畏妖,隨后出現(xiàn)的幾起案子犯建,更是在濱河造成了極大的恐慌,老刑警劉巖瓜客,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件适瓦,死亡現(xiàn)場離奇詭異竿开,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)玻熙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進(jìn)店門否彩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人嗦随,你說我怎么就攤上這事列荔。” “怎么了枚尼?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵贴浙,是天一觀的道長。 經(jīng)常有香客問我署恍,道長崎溃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任盯质,我火速辦了婚禮袁串,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘呼巷。我一直安慰自己囱修,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布王悍。 她就那樣靜靜地躺著破镰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪压储。 梳的紋絲不亂的頭發(fā)上鲜漩,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天,我揣著相機(jī)與錄音渠脉,去河邊找鬼宇整。 笑死瓶佳,一個(gè)胖子當(dāng)著我的面吹牛芋膘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播霸饲,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼为朋,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了厚脉?” 一聲冷哼從身側(cè)響起习寸,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎傻工,沒想到半個(gè)月后霞溪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體孵滞,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年鸯匹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了坊饶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,861評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡殴蓬,死狀恐怖匿级,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情染厅,我是刑警寧澤痘绎,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站肖粮,受9級特大地震影響孤页,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜尿赚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一散庶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧凌净,春花似錦悲龟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至斩芭,卻和暖如春轻腺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背划乖。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工贬养, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人琴庵。 一個(gè)月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓误算,卻偏偏與公主長得像,于是被迫代替她去往敵國和親迷殿。 傳聞我的和親對象是個(gè)殘疾皇子儿礼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評論 2 361

推薦閱讀更多精彩內(nèi)容