最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS APP 多服務(wù)器環(huán)境分離的方法

 更新時(shí)間:2018年07月21日 10:06:31   作者:申申申申申  
這篇文章主要介紹了iOS APP 多服務(wù)器環(huán)境分離的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

每個(gè) App 項(xiàng)目可以有多個(gè)環(huán)境, 開(kāi)發(fā)環(huán)境 、 測(cè)試環(huán)境 、 預(yù)發(fā)布環(huán)境生產(chǎn)環(huán)境 ,至少有 開(kāi)發(fā)環(huán)境生產(chǎn)環(huán)境

研發(fā)同學(xué)和測(cè)試同學(xué)經(jīng)常需要在環(huán)境間切換,產(chǎn)品同學(xué)有時(shí)候也會(huì)心血來(lái)潮的看看各種版本,也就是說(shuō),有時(shí)候需要測(cè)試版本,有時(shí)候又需要正式版本,我之前的做法就是每次切換 url ,然后重新打包,或者重新運(yùn)行,超麻煩~

那么有沒(méi)有可能在一個(gè)手機(jī)直接裝多個(gè)版本吶?

答案肯定是有滴(否則還碼這篇文章干嘛吶~)

個(gè)人覺(jué)得最好的方案就是 ------ 環(huán)境分離 ,即不同的環(huán)境對(duì)應(yīng)不同的 app

每個(gè)Target代表一個(gè)編譯的產(chǎn)品。每個(gè)Target,可以有不同的編譯源文件和資源文件。那么,實(shí)現(xiàn)環(huán)境分離的方案,就是分別建立測(cè)試環(huán)境和生產(chǎn)環(huán)境的兩個(gè)Target。默認(rèn)的Target作為生產(chǎn)環(huán)境的Target,在此基礎(chǔ)上復(fù)制多一個(gè)Target作為測(cè)試環(huán)境的Target。

一個(gè) app 只能有一個(gè)唯一標(biāo)示, iOS 使用的是 Bundle Identifier , Android 使用的是包名,因此,在一個(gè)手機(jī)上安裝多個(gè)環(huán)境的 app ,只需要每個(gè)環(huán)境的 Bundle Identifier 或者包名不同即可, 一般做法是在后面添加環(huán)境后綴 ,比如生產(chǎn)環(huán)境為 com.shenfengfeng.myapp ,那么測(cè)試環(huán)境就可以為 com.shenfengfeng.myapp.alpha , app 名字會(huì)更新,當(dāng)然也可以手動(dòng)改,當(dāng)然也還可以改圖標(biāo),用來(lái)在同一個(gè)手機(jī)上區(qū)分版本

但是這種做法有個(gè)不好的地方就是需要,需要針對(duì)不同的環(huán)境,申請(qǐng),不同的第三方的 appKey 、 appSecret

那么是來(lái)回注釋?zhuān)€是申請(qǐng)賬號(hào),看自己取舍吧~

多環(huán)境分離演示:

概述: iOS app 可以通過(guò)創(chuàng)建不同環(huán)境的Target來(lái)實(shí)現(xiàn)環(huán)境分離,不同Target可以設(shè)置不同的 bundle id 、名稱(chēng)、圖標(biāo)等。每個(gè) target 也對(duì)應(yīng)的 plist 文件

1、復(fù)制 target ,選中后右鍵,選擇 Duplicate

2、默認(rèn)的名字為 **** copy

3、修改 targetbundle id ,需要注意的是,在修改 target 的名字后,需要切換到 Xcode 的其他地方(比如其他 target )后再切回來(lái),然后 display name 會(huì)自動(dòng)適配

4、項(xiàng)目結(jié)構(gòu)里面會(huì)多一個(gè)默認(rèn) target 名字的 ***.plist 文件

5、 右鍵 show in finder ,將這個(gè) plist 文件改名,并且移到項(xiàng)目的原本的 plist 文件的同級(jí)目錄,然后重新添加到項(xiàng)目中,注意選擇的 target

6、看下圖

7、因?yàn)橐苿?dòng)了新的 targetplist 文件,所需要重新關(guān)聯(lián)到新的 plist 文件,關(guān)聯(lián)后隨意切換后會(huì)刷新

8、按著鍵盤(pán) option ,點(diǎn)擊 Xcode 運(yùn)行按鈕(左上方),然后點(diǎn)擊 Manage Schemes

9、重命名新創(chuàng)建 schemes

10、如圖

11、右鍵新建 AppIcon

12、選擇新的 target 對(duì)應(yīng)的 AppIcon

13、關(guān)鍵步驟

設(shè)置了不同的 target 后,代碼上可以根據(jù)不同的 target 來(lái)做不同的處理,就需要知道,當(dāng)前在編譯的是哪個(gè) target

這可以通過(guò),預(yù)編譯宏來(lái)區(qū)分,比如在 runtime alphatargetBuild Settings 中,在 Preprocessor Macros 中添加 FF_ALPHA

(也可以給 target runtime 設(shè)置 FF_ALPHA=0 ,給 runtime alpha 設(shè)置 FF_ALPHA=1

14、代碼中就可以如下判斷,依據(jù)實(shí)際情況

#ifdef FF_ALPHA
#define FF_URL @"****"
#elif ...
#define FF_URL @"****"
#else
#define FF_URL @"****"
#endif

15、結(jié)束,非常感謝看到這里的小伙伴,筆者感覺(jué)到很開(kāi)心~

遇到的問(wèn)題

切換 Scheme 時(shí)候,遇到如下圖報(bào)錯(cuò)

筆者將模擬器格式化后正常, Xcode 9.* ---> Hardware → Erase All Content and Settings...

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • iOS使用runtime修改文本框(TextField)的占位文字顏色

    iOS使用runtime修改文本框(TextField)的占位文字顏色

    相信大家都知道TextField默認(rèn)的占位顏色也是深灰色,這個(gè)顏色比較難看清,這篇文章給大家介紹如何使用runtime修改TextField文本框的占位文字顏色,有需要的可以參考借鑒.
    2016-09-09
  • Objective-C實(shí)現(xiàn)無(wú)限循環(huán)輪播器

    Objective-C實(shí)現(xiàn)無(wú)限循環(huán)輪播器

    這篇文章主要介紹了Objective-C實(shí)現(xiàn)無(wú)限循環(huán)輪播器的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • iOS webview捕獲H5按鈕方法示例代碼

    iOS webview捕獲H5按鈕方法示例代碼

    這篇文章主要給大家介紹了關(guān)于iOS webview捕獲H5按鈕方法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • iOS開(kāi)發(fā)刪除storyboard步驟詳解

    iOS開(kāi)發(fā)刪除storyboard步驟詳解

    這篇文章主要為大家介紹了iOS系列學(xué)習(xí)之刪除storyboard步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • IOS 應(yīng)用內(nèi)顯示 AppStore 某個(gè)應(yīng)用的詳情

    IOS 應(yīng)用內(nèi)顯示 AppStore 某個(gè)應(yīng)用的詳情

    本文主要介紹ISO應(yīng)用內(nèi)打開(kāi)AppStorn 顯示某個(gè)應(yīng)用詳情,這里幫大家總結(jié)了兩種方法,大家對(duì)比一下,在項(xiàng)目中選擇應(yīng)用,
    2016-07-07
  • iOS中的通知機(jī)制

    iOS中的通知機(jī)制

    網(wǎng)上經(jīng)常說(shuō)iOS的通知機(jī)制是使用了觀察者模式,里面有兩個(gè)角色,其一是poster(發(fā)送者),另一個(gè)是observer(接受信息的訂閱者)。接下來(lái)通過(guò)本文給大家介紹iOS中的通知機(jī)制,感興趣的朋友一起學(xué)習(xí)吧
    2016-04-04
  • IOS點(diǎn)擊按鈕隱藏狀態(tài)欄詳解及實(shí)例代碼

    IOS點(diǎn)擊按鈕隱藏狀態(tài)欄詳解及實(shí)例代碼

    這篇文章主要介紹了IOS點(diǎn)擊按鈕隱藏狀態(tài)欄詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Flutter Boost 混合開(kāi)發(fā)框架

    Flutter Boost 混合開(kāi)發(fā)框架

    Flutter是一個(gè)由C++實(shí)現(xiàn)的Flutter Engine和由Dart實(shí)現(xiàn)的Framework組成的跨平臺(tái)技術(shù)框架,本文將在此做一個(gè)初步的講解
    2021-08-08
  • iOS中SQLite使用教程

    iOS中SQLite使用教程

    sqlite是嵌入式的和輕量級(jí)的sql數(shù)據(jù)庫(kù)。sqlite是由c實(shí)現(xiàn)的。廣泛用于包括瀏覽器(支持html5的大部分瀏覽器,ie除外)、ios、android以及一些便攜需求的小型web應(yīng)用系統(tǒng)
    2016-03-03
  • iOS獲取網(wǎng)絡(luò)類(lèi)型的方法匯總

    iOS獲取網(wǎng)絡(luò)類(lèi)型的方法匯總

    本篇文章主要給大家匯總介紹了iOS獲取網(wǎng)絡(luò)類(lèi)型的方法,主要涉及到方面的內(nèi)容,對(duì)于IOS開(kāi)發(fā)感興趣的同學(xué)可以參考一下
    2015-06-06

最新評(píng)論

德令哈市| 牡丹江市| 芒康县| 中超| 台北县| 垣曲县| 西宁市| 平利县| 永春县| 泰安市| 彭州市| 临沭县| 浦城县| 塘沽区| 梁平县| 额尔古纳市| 高邮市| 江油市| 龙里县| 敦化市| 唐海县| 诸城市| 杭锦旗| 龙泉市| 库尔勒市| 固安县| 修文县| 新田县| 珲春市| 高碑店市| 文水县| 聊城市| 西安市| 惠来县| 新营市| 开鲁县| 清水县| 蒙自县| 廉江市| 双鸭山市| 扎囊县|