0
A
回答
1
我建议设立两个模式。
第一个:开发 - >设置与Debug
构建配置。 您可以在开发应用时使用此功能。这会给你日志记录,调试容易等。
第二个:配置 - >设置与Release
构建配置。 日志记录不会发生在这个模式上,调试也将不可用,因为构建没有为此优化。
当您准备向App Store提交资料时,请使用Release
构建配置来归档Distribution模式。
有关Debug
和Release
构建配置之间的区别的更多详细说明here。
0
这将深入探讨您的问题。我使用了构建配置环境,以便在发布配置中进行构建。您的自动值将根据发布版本进行调整。您还可以从下面的链接下载示例代码,以实际了解更改方案时会发生什么情况。
第一步。
在info.plist中添加变量“Configuration”,并在其中添加值“$(CONFIGURATION)”。
制作一个Config.swift文件并复制粘贴下面的代码。
`
import Foundation
private let configManagerSharedInstance = ConfigManager()
class Config {
class var sharedInstance: ConfigManager {
return configManagerSharedInstance
}
}
// You can put as much Environment as you need but you make sure you also put these environment in the config.plist file.
enum Environment: String {
case Debug = "Debug"
case Production = "Release"
}
class ConfigManager: NSObject {
private var environment: Environment?
var config: NSDictionary?
override init() {
super.init()
// Retrieve the current evironment from the main bundle
if let currentEnvironment = Bundle.main.infoDictionary?["Configuration"] as? String {
// Store the current environment for later use
environment = Environment(rawValue: currentEnvironment)
if let projectConfigPath = Bundle.main.path(forResource: "Config", ofType: "plist") {
if let projectConfigContents = NSDictionary(contentsOfFile: projectConfigPath) as? Dictionary<String, AnyObject> {
config = projectConfigContents[currentEnvironment] as? Dictionary<String, AnyObject> as NSDictionary?
}
} else {
print("config file not found")
}
}
}
func getCurrentEnvironment() -> Environment? {
return self.environment
}
func configForKey(key: String) -> String {
return config?[key] as! String
}
//It will use to get sub dictionary and their values.
func configForCategory(category: String, andKey: String) -> String {
let configuration = config?.value(forKeyPath: category) as! NSDictionary
return configuration.value(forKeyPath: andKey) as! String
}
}
`
我也取得了文件Constants.swift在我所使用上述代码设定的可变因素。 `
//
// Constants.swift
// BuildConfiguration
//
// Created by Ourangzaib khan on 4/6/17.
// Copyright © 2017 Ourangzaib khan. All rights reserved.
//
let kBASE_URL : String = {
print(Config.sharedInstance.configForKey(key: "kBASE_URL"));
return Config.sharedInstance.configForKey(key: "kBASE_URL")
}()
let STRIPEKEY : String = {
return Config.sharedInstance.configForCategory(category: "Stripe", andKey: "Publishable Key")
}()
let PUBNUBKEYSUBSCRIBE : String = {
return Config.sharedInstance.configForCategory(category: "PubNub", andKey: "Publish Key")
}()
let PUBNUBKEYPUBLISH : String = {
return Config.sharedInstance.configForCategory(category: "PubNub", andKey: "Subscribe Key")
}()
let WOWZAKEY : String = {
return Config.sharedInstance.configForKey(key: "Wowza");
}()
`
现在你只需要使用编辑sceme进入编辑方案来选择环境和选择构建配置现在,当你运行该项目,你会看到这样的输出WRT在下面的图像中构建配置。
相关问题
- 1. 我应该使用在Xcode
- 2. 在设置应用程序中创建应用程序设置
- 3. 我应该为Pods.xcproj“更新为推荐设置”,Xcode 9
- 4. 我应该使用哪些Xcode设置来支持armv6和armv7?
- 5. 我应该在我的应用中默认设置Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture?
- 6. 我应该在类中创建单独的属性还是仅创建一个设置值的方法?
- 7. 我应该在哪里创建pthread
- 8. 当我应该创建在C#
- 9. 在其列,我应该创建索引
- 10. 在Xcode中使用设备UDID在Xcode中创建.app文件
- 11. 在xcode 4中编辑构建设置
- 12. 我应该如何创建我的GUID?
- 13. 我应该如何使用MySQL构建我的设置表?
- 14. 我无法在XCode中创建插座
- 15. 在Xcode构建过程中更改应用程序设置
- 16. 我应该如何在nodejs应用程序中设置auth?
- 17. 我应该在asp.net应用程序中将generatePublisherEvidence设置为false?
- 18. 我应该在“体系结构”部分的Xcode构建设置中包含什么
- 19. 我应该在我的HttpHandlers中将IsReusable设置为True吗?
- 20. 我应该在哪种方法中设置我的UIToolBar隐藏
- 21. 我应该如何在starling中设置我的触摸控件?
- 22. 我应该如何在django中设置我的主页?
- 23. 在设置应用程序中创建类似邮件设置的设置
- 24. 在设置应用程序中创建类似邮件设置的设置
- 25. 何时应该设置新创建记录的用户?
- 26. 创建日期 - 是否应该在BL或DAL中设置此值?
- 27. 我应该如何在Rails 3.1中设置资产才能显示那些在飞行中创建的图像?
- 28. 我应该创建此访问器吗?
- 29. 我应该为模块创建DLL吗?
- 30. 我应该为此创建索引吗?
如果你是指打印()日志记录,将在发布发生还建立,如果你不积极镇压。 – shallowThought