小编Aar*_*ron的帖子

已经激活的rake版本与Gemfile所需的版本不同,可以防止rake命令

这是我的错误:

rake aborted!
Gem::LoadError: You have already activated rake 10.3.1, but your Gemfile requires rake 10.2.2. Prepending `bundle exec` to your command may solve this.
/Users/AaronWilliamson/.gem/ruby/2.1.0/gems/bundler-1.5.3/lib/bundler/runtime.rb:34:in `block in setup'
/Users/AaronWilliamson/.gem/ruby/2.1.0/gems/bundler-1.5.3/lib/bundler/runtime.rb:19:in `setup'
/Users/AaronWilliamson/.gem/ruby/2.1.0/gems/bundler-1.5.3/lib/bundler.rb:119:in `setup'
/Users/AaronWilliamson/.gem/ruby/2.1.0/gems/bundler-1.5.3/lib/bundler/setup.rb:7:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/boot.rb:4:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/application.rb:1:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/Rakefile:4:in `<top (required)>'
LoadError: cannot load such file -- bundler/setup
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/boot.rb:4:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/application.rb:1:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)

我不能运行任何rake任务,这似乎是我所有其他问题的根源.几天前,当我运行rake命令时,情况并非如此.任何人都可以解释这里发生了什么,以及如何让我的应用回到正轨?我撞墙了.此外,bundle exec并没有为我解决问题的根源.我过去从来没有这样做过,现在还没有工作.

rake gem ruby-on-rails

35
推荐指数
5
解决办法
4万
查看次数

Alamofire Xcode 8 Swift 3导致786编译错误

我正在使用Xcode 8.0 GM.我创建了一个默认的单视图应用程序,我的部署目标设置为9.0.

在我的Podfile中,我瞄准了Swift 3分支的前沿:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!

target 'MyProject' do
    pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :branch => 'swift3'
end
Run Code Online (Sandbox Code Playgroud)

我跑了pod install,得到...... Installing Alamofire (4.0.0-beta.2)太棒了,没问题.我打开MyProject.xcworkspace.

弹出:

将Alamofire转换为最新语法

我以后不能打,因为它告诉我:

Xcode 8将无法构建目标"Alamofire",并且在转换此目标中的Swift源代码之前,某些编辑功能将无法正常运行.

这不好,我想建立它.所以我点击"转换".它给了我选择:

转换为Swift 3

那就是我想要的,Swift 3.看起来不错,我点击"下一步".

选择目标

它默认为这3个选定目标.好的,我接下来打了.

错误1 错误2

神的圣名是什么......

我想在swift3针对iOS 9.0的Xcode 8,Swift 3项目中使用Alamofire的前沿分支.我哪里出错了,怎么才能让这个工作?FWIW我试图使用Alamofire的Swift 2.3分支时遇到一堆错误,所以我知道这是我做错了.

xcode ios cocoapods swift alamofire

32
推荐指数
3
解决办法
2万
查看次数

使用选择器错误的Swift 3协议扩展

我有我认为是一个非常简单的协议扩展,我UIViewController提供了通过轻击手势解雇键盘的功能.这是我的代码:

@objc protocol KeyboardDismissing { 
    func on(tap: UITapGestureRecognizer)
}

extension KeyboardDismissing where Self: UIViewController {

    func addDismissalGesture() {
        let tap = UITapGestureRecognizer(target: self, action: #selector(Self.on(tap:)))
        view.addGestureRecognizer(tap)
    }

    func on(tap: UITapGestureRecognizer) {
        dismissKeyboard()
    }

    func dismissKeyboard() {
        view.endEditing(true)
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是上面的代码在这一行引发编译错误:

let tap = UITapGestureRecognizer(target: self, action: #selector(Self.on(tap:)))
Run Code Online (Sandbox Code Playgroud)

带有错误消息:

'#selector'的参数是指没有暴露给Objective-C的实例方法'on(tap :)'

建议通过@objc之前添加"修复它"func on(tap: UITapGestureRecognizer)

好的,我添加标签:

@objc func on(tap: UITapGestureRecognizer) {
    dismissKeyboard()
}
Run Code Online (Sandbox Code Playgroud)

但是,它会在这个新添加的@objc标记上抛出一个不同的编译错误,并显示错误消息:

@objc只能用于类的成员,@ objc协议和类的具体扩展

通过删除我刚刚被告知添加的完全相同的标签来建议"修复它" .

我原先认为@objc在我的协议定义之前添加可以解决任何#selector问题,但显然情况并非如此,这些周期性错误消息/建议没有丝毫帮助.我已经 …

protocols objective-c ios swift swift3

21
推荐指数
2
解决办法
7894
查看次数

无法找到路径"/ sessions/user"的设计映射设计错误

过去几天非常令人沮丧.

我有一个安装了Devise的rails应用程序,我生成了一个新的User模型,我也生成了Devise视图.

当我在填写电子邮件和密码字段后单击"登录"时尝试以现有用户身份登录时会发生这种情况:

AbstractController::ActionNotFound - Could not find devise mapping for path "/sessions/user".
This may happen for two reasons:

1) You forgot to wrap your route inside the scope block. For example:

  devise_scope :user do
    get "/some/route" => "some_devise_controller"
  end

2) You are testing a Devise controller bypassing the router.
   If so, you can explicitly tell Devise which mapping to use:

   @request.env["devise.mapping"] = Devise.mappings[:user]

:
  devise (3.2.4) app/controllers/devise_controller.rb:84:in `unknown_action!'
  devise (3.2.4) app/controllers/devise_controller.rb:59:in `assert_is_devise_resource!'
  devise (3.2.4) app/controllers/devise_controller.rb:97:in `require_no_authentication'
  activesupport (4.0.4) lib/active_support/callbacks.rb:397:in …
Run Code Online (Sandbox Code Playgroud)

ruby session controller ruby-on-rails devise

15
推荐指数
3
解决办法
2万
查看次数

如何为弯曲的SKNodes指导tvOS焦点项目

我的tvOS应用程序使用如下所示的SKNodes生成游戏板:

在此输入图像描述

每个由线条分隔的形状是可聚焦的SKNode(例如,每个彩色楔形由5个SKNode组成,其尺寸逐渐减小,更接近中心).

我的问题是焦点引擎没有聚焦下一个焦点项(SKNode),它会感觉像是一个逻辑的,最自然的下一个节点.这个问题是因为焦点引擎逻辑是矩形的,而我的SKNode是弯曲的.正如您在下面看到的那样,当从最外面的黄色SKNode向下滑动时尝试找出下一个可聚焦项目时存在固有问题:

在此输入图像描述

在上面的示例中,焦点引擎根据节点的边缘推断出当前聚焦区域是红色阴影矩形内的区域.由于该逻辑,聚焦矩形与不是当前聚焦节点的一部分的区域重叠,包括第二黄色SKNode的整个宽度.因此,当向下滑动时,焦点引擎会将焦点跳到第三个(中间)黄色SKNode.

如何解决这个焦点问题,以便我的圆形游戏板SKNodes的纵向和横向焦点更自然,而不是看起来如此零星?这可能吗?也许有UIFocusGuides?

sprite-kit sknode swift tvos

14
推荐指数
1
解决办法
263
查看次数

gemspec文件中的`files`,`executables`,`test_files`和`require_paths`是什么?

我不清楚.gemspec文件中的某些规范是做什么的.特别,

spec.files         = `git ls-files -z`.split("\x0")
spec.executables   = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
spec.test_files    = spec.files.grep(%r{^(test|spec|features)/})
spec.require_paths = ["lib"]
Run Code Online (Sandbox Code Playgroud)

有人可以解释这些与Ruby Gem的功能有何关系以及为什么它们是必要的?

ruby gem rubygems gemspecs

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

故事板和故事板包之间的区别?

当我将视图控制器移动到它自己的故事板文件中时,我转到Xcode> Editor> Refactor to Storyboard.这里,弹出窗口显示命名新故事板文件和一些不同的设置.其中一个设置是带2个选项的格式:

Interface Builder故事板Interface Builder故事板包

(见截图)

什么是Interface Builder Storyboard Package,它与Interface Builder Storyboard有何不同?

界面构建器故事板包

xcode interface-builder storyboard ios

11
推荐指数
1
解决办法
413
查看次数

UILabel子类使用自定义颜色初始化

我的目标是在我的视图控制器中设置textColor我的自定义UILabel子类.我有一个UILabel名为的子类CircleLabel.以下是它的基础知识:

class CircleLabel: UILabel {

required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)!
}

override init(frame: CGRect) {
    super.init(frame: frame)
}

override func drawRect(rect: CGRect) {
    self.layer.cornerRadius = self.bounds.width/2
    self.clipsToBounds = true
    super.drawRect(rect)
}

override func drawTextInRect(rect: CGRect) {
    self.textColor = UIColor.whiteColor()
    super.drawTextInRect(rect)
}

func setProperties(borderWidth: Float, borderColor: UIColor) {
    self.layer.borderWidth = CGFloat(borderWidth)
    self.layer.borderColor = borderColor.CGColor
}
Run Code Online (Sandbox Code Playgroud)

}

如您所见,我实例化的每个CircleLabel都默认为UIColor.whiteColor()的textColor属性,该属性正常工作.在我的视图控制器的viewDidLoad中,我想将CircleLabel设置为具有动态textColor属性.所以像这样:

class myViewController: UIViewController {
    @IBOutlet weak var myCustomLabel: CircleLabel!

    override func viewDidLoad() …
Run Code Online (Sandbox Code Playgroud)

subclass uiviewcontroller uilabel ios swift

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

Xcode 8模板存储在哪里?

我浏览过Xcode寻找模板的消息来源:

~/Library/Developer/Xcode/Templates

但我看不到这样的目录.有新位置吗?我想制作一个自定义模板.

xcode templates

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

如何在以前在iOS 10上运行的iOS 11上的单元格解雇期间重新获得清晰的颜色UITableViewCell蒙版效果?

前言

UITableViewCell在iOS 10上有一个工作的自定义解雇动画.它的实现方式如下:

  1. 用户按下提交按钮
  2. 自定义视图在UITableViewCell子视图的索引零处创建,定位和插入(在单元格下方contentView)
  3. contentView是动画帧失而定制视图的alpha是动画〜1.0
  4. contentView完全超出帧时,将调用本机UITableView方法deleteRows(at: [indexPath], with: .top).UITableViewCell折叠和自定义视图在折叠时隐藏在前一个视图后面UITableViewCell.
  5. 单元格(以及所有子视图,包括我的自定义视图)将被删除.

下面是它工作的慢动画:

在iOS 10上运行的UITableViewCell掩码

注意:tableView背景颜色清晰,允许自定义视图(蓝色)显示在其后面.每个单元具有containerView包含单元的所有内容的a.在containerViewcontentView都有明确的背景颜色.一切都很好,花花公子.

问题

将我的应用迁移到iOS 11,此动画无法正常运行.下面是一个慢动画,它不再工作了.

在iOS 11上运行的UITableViewCell掩码

如您所见,自定义视图在单元格解除时叠加在上一个单元格的顶部,而不会更改我的代码.

调查迄今为止

到目前为止,我已经确定a的解剖结构UITableView已经改变了:

UITableView
    UITableViewWrapperView
        cell
            custom view
            contentView
            cell separator view
        cell
        cell
        cell
    UIView
    UIImageView  (scroll view indicator bottom)
    UIImageView  (scroll view indicator right)
Run Code Online (Sandbox Code Playgroud)

对此:( UITableViewWrapperView已被删除)

UITableView
    cell …
Run Code Online (Sandbox Code Playgroud)

uitableview calayer swift ios10 ios11

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