小编Ben*_*ohn的帖子

Apple的TestFlight提供旧版本

我的团队使用TestFlight在公司内部署beta版本.通常,TestFlight应用程序不想安装最新版本.

例如,我们将收到一封TestFlight电子邮件,通知我们有关构建#91的应用更新.该电子邮件包含一个"在TestFlight中打开"的链接.当您点击该链接时,TestFlight会打开,但会提供安装版本#90 (旧版本),而不是版本#91 (最新版本).

  • 这是一个已知的问题吗?
  • 是否有工作来改善这种情况?

xcode itunesconnect ios testflight

12
推荐指数
1
解决办法
5698
查看次数

快速运行总和

我想runningSum在一个数字数组(或任何有序的可添加东西的集合)上的函数返回一个相同长度的数组,其中每个元素i是A中所有元素的总和,直到包含i.

例子:

runningSum([1,1,1,1,1,1]) -> [1,2,3,4,5,6]
runningSum([2,2,2,2,2,2]) -> [2,4,6,8,10,12]
runningSum([1,0,1,0,1,0]) -> [1,1,2,2,3,3]
runningSum([0,1,0,1,0,1]) -> [0,1,1,2,2,3]
Run Code Online (Sandbox Code Playgroud)

我可以使用for循环或其他任何方法来完成此操作.有更多功能选项吗?它有点像reduce,除了它构建一个具有所有中间值的结果数组.

更一般的是拥有一个接受任何序列的函数,并提供一个输入序列的运行总和的序列.

swift

11
推荐指数
3
解决办法
1590
查看次数

在Swift中将数组拆分为子数组

问题

给定一组值如何将其拆分为由sub-arrays相等的元素组成?

鉴于此数组

let numbers = [1, 1, 1, 3, 3, 4]
Run Code Online (Sandbox Code Playgroud)

我想要这个输出

[[1,1,1], [3, 3], [4]]
Run Code Online (Sandbox Code Playgroud)

我不想要的

解决这个问题的一种可能方法是创建某种索引来指示每个元素的出现.

let indexes = [1:3, 3:2, 4:1]
Run Code Online (Sandbox Code Playgroud)

最后使用索引重建输出数组.

let subsequences = indexes.sort { $0.0.0 < $0.1.0 }.reduce([Int]()) { (res, elm) -> [Int] in
    return res + [Int](count: elm.1, repeatedValue: elm.0)
}
Run Code Online (Sandbox Code Playgroud)

但是,使用此解决方案,我将失去原始值.当然在这种情况下它不是一个大问题(Int值仍然是,Int即使重新创建)但我想将此解决方案应用于更复杂的数据结构,如此

struct Starship: Equatable {
    let name: String
    let warpSpeed: Int
}

func ==(left:Starship, right:Starship) -> Bool {
    return left.warpSpeed …
Run Code Online (Sandbox Code Playgroud)

arrays swift

11
推荐指数
2
解决办法
6955
查看次数

动画`inputView`键盘转换

UITextField具有inputView可用于指定自定义键盘的属性.清除此选项可nil提供默认键盘.

如果UITextField是第一响应者,则设置不会发生任何变化inputView,但通过调用[textField reloadInputView]键盘将立即发生更改.

我希望能够在两种不同的输入方法之间切换.接口触发这将是一个UISegmentedView安装为UITextFieldinputAccessoryView.

我有这个工作,但过渡是非常突然的.部分原因是我在两者之间转换的微调器和键盘在iPad上有不同的尺寸.

我发现我将动画块包裹起来reloadInputView,我将在两个键盘的视图帧之间获得平滑的动画.不幸的是,有一种视觉抖动,因为过渡不是动画:

[UIView animateWithDuration: 0.3 animations:^()
{
    [firstResponder reloadInputViews];
}];
Run Code Online (Sandbox Code Playgroud)

或者,如果我在转换中包装重新加载,我可以得到一个很好的交叉淡入淡出,但我没有得到平滑的帧更改:

[UIView transitionWithView: keyboardWindow
                  duration: 0.3
                   options: UIViewAnimationOptionTransitionCrossDissolve
                animations: ^(){ [firstResponder reloadInputViews]; }
                completion: nil];
Run Code Online (Sandbox Code Playgroud)

(在我所得到的第二码块keyboardWindowself.window因为这一观点被安装为UITextFieldinputAccessoryView,其最终嵌套键盘的窗口下.)

我想要的是动画转换输入视图重新加载.我尝试将重新加载放在动画的过渡中,我也尝试将重新加载放在过渡中的动画中 - 似乎都没有帮助.

有任何想法吗?谢谢!

uitextfield uiviewanimation uiviewanimationtransition ios

10
推荐指数
1
解决办法
1451
查看次数

由"In-Call"状态栏剪切的"启动屏幕"故事板

我有一个简单的启动画面故事板.这是一个UINavigationController以它UITableViewController为根的.它只是显示UITitleBar了应用程序的正确性.

当我使用较大的通话中样式状态栏启动时,启动屏幕的标题栏将被剪切在状态栏后面.启动后,应用程序正确调整大小,以便不剪切标题 - IE 运行时故事板没有问题.

午餐屏幕截图

我可以修复此发布剪辑吗?

我注意到的是,启动屏幕故事板似乎没有提供顶部和底部布局指南.我不确定这是否相关.

这是启动屏幕故事板的屏幕截图:

发布屏幕故事板.

作为一个注释,它没有任何垂直布局约束要附加,我似乎无法使用界面构建器工具为此创建任何约束.

ios uistoryboard launch-screen

10
推荐指数
1
解决办法
1420
查看次数

使com.apple.CoreData.ConcurrencyDebug 1工作

我正在尝试迁移一些代码以使用NSManagedObjectContextwith NSPrivateQueueConcurrencyType.

在将上下文保存到其父级,然后保存父级之后,我有时会遇到非常奇怪的错误.我想知道这些是否是因为没有NSPrivateQueueConcurrencyType正确使用上下文.

我已经-com.apple.CoreData.ConcurrencyDebug 1开始尝试调试这个.我很确定这不起作用.如果我在托管对象上下文上执行操作或在不使用的情况下更改其对象performBlock:,我不会收到错误或抛出.

这是我如何设置方案的参数:架构编辑.我也没有领先的尝试过-.

知道我做错了什么吗?

core-data ios

9
推荐指数
2
解决办法
2350
查看次数

当我进行iTunes Connect分阶段发布时会发生什么?

iTunes Connect现在让我发布一个分阶段发布的应用程序.这是解释这一点的Web UI.

分阶段发布选项

更新发布给用户后实际发生了什么?我得到什么控制和反馈?

itunesconnect release automatic-updates

9
推荐指数
1
解决办法
5254
查看次数

在iOS上显示按比例分隔的数字(而不是等宽/表格)

我通过将它们存储在NSAttributedString中并使用"drawAtPoint:"进行渲染,在iOS中渲染数字(目标为7及以上).我正在使用Helvetica Neue.

我注意到像这样绘制的数字的数字不成比例 - 字形都具有相同的宽度.即使是瘦的"1"也占用与"0"相同的空间.

测试证实了这一点:

for(NSInteger i=0; i<10; ++i)
{
  NSString *iString = [NSString stringWithFormat: @"%d", i];
  const CGSize iSize = [iString sizeWithAttributes: [self attributes]];
  NSLog(@"Size of %d is %f", i, iSize.width);
}
Run Code Online (Sandbox Code Playgroud)

在其他地方:

-(NSDictionary *) attributes
{
  static NSDictionary * attributes;
  if(!attributes)
  {
    attributes = @{
                   NSFontAttributeName: [UIFont systemFontOfSize:11],
                   NSForegroundColorAttributeName: [UIColor whiteColor]
                   };
  }
  return attributes;
}
Run Code Online (Sandbox Code Playgroud)

这个结果字形都具有 6.358点的相同宽度.

是否有一些渲染选项我可以启用它来启用比例数字字形?是否有另一种字体(理想情况下类似于Helvetica Neue)支持比例数字字形(理想情况下,内置)?还要别的吗?

谢谢.

nsstring uifont ios uifontdescriptor

7
推荐指数
1
解决办法
2841
查看次数

我能编写一个像"c ++模板函数"一样"尽可能"工作的Julia方法吗?

rand 适用于范围:

rand(1:10)
Run Code Online (Sandbox Code Playgroud)

我想要rand使用Array,以及任何可索引的东西,并具有length:

import Base.Random
rand(thing) = thing[rand(1:length(thing))]

array = {1, 2, 3}
myRand(array)

range = 1:8
myRand(range)

tupple = (1, 2, 3, "a", "b", "c")
myRand(tupple)
Run Code Online (Sandbox Code Playgroud)

...但是,如果我尝试这个,我的实现堆栈溢出,大概是因为它是完全通用的并且匹配所有传递的东西,所以它最终调用自己?

有没有办法来解决这个问题?我想更好地理解Julia的多态函数,而不是修复这个特殊的(可能是愚蠢的)函数特化.

是否还有一个工具来发现可用的各种实现,以及将使用特定参数调用的调试?


好的,有些挖掘.这是有趣的…

我将启动一个新的REPL,并且:

julia> import Base.Random

julia> rand(thing) = thing[rand(1:length(thing))]
rand (generic function with 1 method)

julia> rand({1,2,3})
ERROR: stack overflow
 in rand at none:1 (repeats 80000 times)
Run Code Online (Sandbox Code Playgroud)

...哦亲爱的,那是我正在谈论的递归调用和堆栈溢出.

但是,看这个.我杀了Julia并再次启动REPL.这次我import Base.Random.rand:

julia> import Base.Random.rand

julia> rand(thing) = thing[rand(1:length(thing))]
rand (generic function with …
Run Code Online (Sandbox Code Playgroud)

polymorphism julia

7
推荐指数
1
解决办法
898
查看次数

让UIView drawRect出现在后台线程中

我希望有一个UIView实现类似方法的子类setNeedsDisplay,除了重绘(即通常会被调用通过drawRect:)将在后台线程中很快发生,而不是在当前更新周期结束时.

它可能被称为setNeedsAsynchronousDisplay.或者现有的setNeedsDisplay可能被劫持并且不会在循环结束时或者其他任何情况下重绘,只要它允许重绘不会发生在主线程阻塞屏幕上更新交互直到完成.

在重绘之前,视图可以继续使用其当前绘制的表示.

沿着这些方向的事情是否合理可行?

谢谢!

cocoa-touch uiview drawrect ios setneedsdisplay

6
推荐指数
1
解决办法
4838
查看次数