zoukankan      html  css  js  c++  java
  • “使用多target来构建大量相似App”,唐巧大神理论验证(附工程代码地址)

    无意间看到巧神的文章时,感觉非常兴奋,此文章正好解决了公司目前项目的痛点。

    读到以下关键一段时,不甚明了,故自己做了实验分享给有缘人。

    “我们的每个课程的资源文件都具有相同的文件名,例如首页背景都叫 HomeBackgroundBg.png ,由于每个课程背景不一样,所以我们在工程中,每一个课程 target 下,通过修改Copy Bundle Resources,使其都配置有不同的(但是同名) HomeBackgroundBg.png 。这样的好处是,在代码逻辑层面,我们可以完全不用处理课程间资源文件的差异性问题。资源文件的差异性都是通过配置文件来保证的。”

    我的项目代码地址:https://github.com/Dast1990/MultiTargetTest

    命令行下载方法: git clone git@github.com:Dast1990/MultiTargetTest.git

    克隆target方法和相关知识请看“http://www.jianshu.com/p/83b6e781eb51”

    注意:不同target只能引用对应目录下的文件,如果build Phases中引用多了,选中后点-号删除多余引用,否则编译无法通过。

    选中MultiTargetTest Scheme并运行时,输出1,显示目录1下对应的图片;

    选中MultiTargetTianJin Scheme并运行时,输出2,显示目录2下对应的图片;

    因此,也就验证了巧神文章里那一段的说法。

    工程使用的是Xcode8.2.1,swift3.0,主要代码如下:

    //
    //  ViewController.swift
    //  MultiTargetTest
    //
    //  Created by 马 on 2017/3/8.
    //  Copyright © 2017年. All rights reserved.
    //
    
    import UIKit
    
    class ViewController: UIViewController {
    
      override func viewDidLoad() {
        super.viewDidLoad()
        
        print(Const.lNum1)
        
        view.addSubview(gImgV)
        gImgV.center = view.center
        gImgV.bounds = CGRect.init(x: 0, y: 0,  100, height: 100)
        
      }
      
     private lazy var gImgV : UIImageView = {
        let lImgV = UIImageView()
        
        lImgV.image = UIImage.init(named: "ClannaD")
        return lImgV
      }()
    
    
    }
    

     目录1下:

    //
    //  Const.swift
    //  MultiTargetTest
    //
    //  Created by 马 on 2017/3/8.
    //  Copyright © 2017年 huatu. All rights reserved.
    //
    
    import UIKit
    
    class Const: NSObject {
     static let lNum1: Int = 1
    }
    

     目录2下:

    //
    //  Const.swift
    //  MultiTargetTest
    //
    //  Created by 马 on 2017/3/8.
    //  Copyright © 2017年 huatu. All rights reserved.
    //
    
    import UIKit
    
    class Const: NSObject {
     static let lNum1: Int = 2
    }
    
    学无止境,快乐编码。 没有一种不经过蔑视、忍受和奋斗就可以征服的命运。
  • 相关阅读:
    hdu 4577 X-Boxes 大数
    hdu 4576 Robot 概率DP
    将IP地址转化为整数
    MyISAM压缩表
    yii2 模态框
    MySQL数据库设计
    foreach循环赋值问题
    实用的网站
    判断链接地址是否有效
    tp5获取配置文件信息
  • 原文地址:https://www.cnblogs.com/Dast1/p/6520429.html
Copyright © 2011-2022 走看看