小编Mic*_*ski的帖子

.podspec文件的安装后挂钩

嗨,我有私人pod框架,我正在使用,直到现在它不是一个问题因为在pod文件中我可以编辑SWIFT_OPTIMIZATION_LEVEL如下:

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            if (target.name == "MyLib")
                config.build_settings['SWIFT_OPTIMIZATION_LEVEL'] = '-Onone'
            end
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

但是现在我想在我的其他pod中使用这个pod作为依赖,所以.podspec我有文件

s.dependency 'MyLib', '~> 1.0'
Run Code Online (Sandbox Code Playgroud)

所以我不能在post_install Podfile中这样做,因为它不存在.我试着这样做

prepare = <<-PREPARECOMMAND
ruby SWIFT_OPTIMALIZATION.rb
PREPARECOMMAND
s.prepare_command = prepare
Run Code Online (Sandbox Code Playgroud)

但它一直运行到最后,并没有改变.我也尝试过这个

s.script_phase
Run Code Online (Sandbox Code Playgroud)

它可以工作,但只有在第一次失败后,在第一次构建时,它会更改优化并在第二次构建时取消.有没有办法在podspec中添加post install hook?

xcode ios cocoapods

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

使 UIButton isHighlighted 属性成为 Observable

我正在尝试为我的 UIButton 创建 isHighlighted Observable,以便在每次 UIButton 的 isHiglighted 更改时发送序列。我写过这样的东西

extension Reactive where Base: UIButton {

    var isHighlighted: Observable<Bool> {

        let property = self.base.rx.controlProperty(editingEvents: .allTouchEvents,
                                                    getter: { _ in self.base.isHighlighted },
                                                    setter: { (_, _) in })
        return property
            .distinctUntilChanged()
            .asObservable()
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,它不适用于.touchUpInside. 如果我将手指拖到 UIButton 外面然后回来,它工作正常,但不适用于点击动作。我认为.touchUpInside它仍然在很短的时间内突出显示。

ios swift rx-swift rx-cocoa

2
推荐指数
1
解决办法
1394
查看次数

标签 统计

ios ×2

cocoapods ×1

rx-cocoa ×1

rx-swift ×1

swift ×1

xcode ×1