gpt4 book ai didi

ios - Swift 项目需要很长时间才能构建。我能做些什么?

转载 作者:可可西里 更新时间:2023-11-01 02:16:45 26 4
gpt4 key购买 nike

我不确定这是否可重现......

我的 swift iOS 项目需要很长时间才能构建。实际上,它并没有构建,进度条现在只在那里停留了大约 15 分钟:

enter image description here

这真的很奇怪。

这是我在构建它之前所做的:

  • 更改了版本和内部版本号
  • 归档项目
  • 在将存档上传到应用商店时编写了一些代码
  • 存档在上传后出现错误,所以我清理了项目
  • 再次存档
  • 我注意到我忘记将 pod 添加到项目设置中的链接二进制文件部分,所以我添加了它
  • 再次存档
  • 已上传到应用商店
  • this question (我认为这不重要)

现在,进度条就停留在那里。

我该怎么做才能让它更快?

附言

昨天没多久就搭建好了。我今天只添加了几行代码,所以我不认为问题是因为我的项目太大了。可能是 Xcode 中的错误。

有趣的事实:当我写完问题时,进度条仍然存在。

更新

退房后this post ,我发现编译总是卡在这个文件:

class UserSettings {
static var valueOfPi: Double {
let π = NSUserDefaults.standardUserDefaults().doubleForKey("valueOfPi")
return π == 0.0 ? M_PI : π
}

static var usePiLiteral: Bool {
return NSUserDefaults.standardUserDefaults().boolForKey("usePiLiteral")
}

enum SigFigOptions{
case No
case Yes(Int)

func correctTo (i: Double) -> Double {
switch self {
case .No:
return i
case let .Yes(sigFig):
if i == 0 {
return 0
}
let d = ceil(log10(i < 0 ? -i : i))
let power = sigFig - Int(d)
let magnitude = pow(10.0, Double(power))
let shifted = round(i * magnitude)
return shifted / magnitude
}
}
}

enum AngleMeasures : String {
case Degrees = "Degrees"
case Radians = "Radians"
case Gradians = "Gradians"
}

static var sigFigOption: SigFigOptions {
let userPref = NSUserDefaults.standardUserDefaults().integerForKey("sigFigOption")
return userPref == 0 ? .No : .Yes(userPref)
}

static var angleMeasure: AngleMeasures {
let measureId = NSUserDefaults.standardUserDefaults().integerForKey("angleMeasure")
switch measureId {
case 0:
return .Radians
case 1:
return .Degrees
case 2:
return .Gradians
default:
return .Radians
}
}

static func convertToPref (angleRadians: Double) -> Double {
switch angleMeasure {
case .Radians:
return angleRadians
case .Degrees:
return 180 * angleRadians / UserSettings.valueOfPi
case .Gradians:
return 180 * angleRadians / UserSettings.valueOfPi * (10.0 / 9.0)
}
}

static func convertFromPref (prefAngle: Double) -> Double {
switch angleMeasure {
case .Radians:
return prefAngle
case .Degrees:
return prefAngle * UserSettings.valueOfPi / 180.0
case .Gradians:
return prefAngle / (10 / 9) * UserSettings.valueOfPi / 180.0
}
}

static var pref90Degrees: Double {
return convertToPref(valueOfPi / 2)
}

static var pref180Degrees: Double {
return pref90Degrees * 2
}

static var prefHideWarning: Bool {
get { return NSUserDefaults.standardUserDefaults().boolForKey("hideWarning") }
set { NSUserDefaults.standardUserDefaults().setBool(newValue, forKey: "hideWarning") }
}

static var aValue: Double {
get { return NSUserDefaults.standardUserDefaults().doubleForKey("aValue") }
set { NSUserDefaults.standardUserDefaults().setDouble(newValue, forKey: "aValue") }
}

static var bValue: Double {
get { return NSUserDefaults.standardUserDefaults().doubleForKey("bValue") }
set { NSUserDefaults.standardUserDefaults().setDouble(newValue, forKey: "bValue")}
}

static var cValue: Double {
get { return NSUserDefaults.standardUserDefaults().doubleForKey("cValue") }
set { NSUserDefaults.standardUserDefaults().setDouble(newValue, forKey: "cValue")}
}
}

该文件中的哪一段代码可能导致这种情况?我认为它与 NSUserDefaults 有关,对吗?

最佳答案

我尝试了各种技术,启动了许多命令,但最后我注意到有两个命令行实际上提高了编译速度,也许它们对你的情况有用(你必须关闭并重新打开 Xcode 才能激活这些设置):

defaults write com.apple.Xcode PBXNumberOfParallelBuildSubtasks <1|2|4|8|16|..>

(Xcode 将用于执行任务的线程数默认为您的 CPU 拥有的相同内核数 -> 默认值 = CPU 内核)

defaults write com.apple.Xcode XCMaxNumberOfDistributedTasks <desired-number>

(com.apple.Xcode 域中的用户默认 XCMaxNumberOfDistributedTasks 控制 Xcode 一次发送到 DNB 系统的并发编译作业的数量;默认为 25)

enter image description here

关于ios - Swift 项目需要很长时间才能构建。我能做些什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37608815/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com