小编Lee*_*aul的帖子

无法使用RubyGem 2.7.1安装Cocoapods

我的Cocoapods无法正常工作,因此我执行了以下命令:

  1. 运行此bash脚本以删除所有相关的宝石:

    for i in $( gem list --local --no-version | grep cocoapods );
    do 
        sudo gem uninstall $i; 
    done
    
    Run Code Online (Sandbox Code Playgroud)
  2. 删除〜/ .cocoapods删除podspecs的缓存:

    rm -rf ~/.cocoapods/
    
    Run Code Online (Sandbox Code Playgroud)
  3. 更新rubygem:

    sudo gem update --system
    
    Run Code Online (Sandbox Code Playgroud)
  4. 重新安装cocoapods:

    sudo gem install cocoapods
    
    Run Code Online (Sandbox Code Playgroud)

然后我在步骤3和步骤4中收到了文件权限拒绝错误消息:

第三步错误消息:
...
...
完成安装文档RubyGems的更新0秒后
安装的RubyGems 2.7.1
错误:在执行宝石...(错误:: EPERM)
不允许操作@ rb_sysopen - /系统/库/框架/ Ruby.framework /版本/ 2.3的/ usr/bin中/宝石

Step4错误信息:
获取:cocoapods-core-1.3.1.gem(100%)已
成功安装cocoapods-core-1.3.1
获取:cocoapods-deintegrate-1.0.1.gem(100%)已
成功安装cocoapods-deintegrate-1.0 .1
获取:cocoapods-downloader-1.1.3.gem(100%)
成功安装cocoapods-downloader-1.1.3
获取:cocoapods-plugins-1.0.0.gem(100%)
成功安装cocoapods-plugins-1.0.0
获取:cocoapods-search-1.0.0.gem(100%)已
成功安装cocoapods-search-1.0.0
获取:cocoapods-stats-1.0.0.gem(100%)已
成功安装cocoapods-stats-1.0.0
获取:cocoapods-trunk-1.3.0.gem(100%)已
成功安装cocoapods-trunk-1.3.0
获取:cocoapods-try-1.1.0.gem(100%)已
成功安装cocoapods-try-1.1.0
错误:执行gem时...(Gem :: FilePermissionError)您没有/ usr/bin目录的写权限.

我对Linux/OSX文件系统知之甚少,不知道出了什么问题.

以下是有关我的电脑的信息:

  1. OS:

    macOS High Sierra …

rubygems failed-installation cocoapods

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

如何在 JavaScript 中以编程方式结束文本撰写会话?

当用户在 UIWebView(iOS SKD 中的旧视图对象,将 Web 内容嵌入到我的混合应用程序中)的可内容编辑 DIV 区域(稍后将其称为编辑器)中键入一些非拉丁字符时,我试图以编程方式结束文本撰写会话,例如出于某种原因我需要使用它而不是使用 WKWebView)。

当用户使用输入法编辑器 (IME) 键入一些非拉丁字符时,我的应用程序会在 UI 上建议一些特定于域的文本,并且用户可以选择它。

但是,我发现在用户通过单击本机 UI (a UIButton) 选择这些域特定文本并且应用程序已调用后document.exeCommand('insertText', false, 'my domain text'),编辑器仍处于文本撰写会话中,用户刚刚输入的文本上有浅蓝色背景。

如果用户按下 IME 上的某个键,compositionend事件将被调用并且组合会话将结束。

但是,我想以编程方式结束它,以便获得更合理的用户体验。在其他情况下,我需要能够首先结束文本撰写会话,然后输入这些域特定的文本。是否可以?

这是我的混合应用程序的用户界面: 应用程序用户界面

我尝试向编辑器分派合成更新事件,事件侦听器确实被调用,但浅蓝色背景仍在文本下方,这意味着文本合成会话尚未结束。

这是我尝试过的代码:

var editor = document.getElementByID("myContendteditableArea")

editor.addEventListener('compositionend', function(e) {
    console.log('text composition session end')
})

var event = new CompositionEvent('compositionend')

editor.dispatchEvent(event)
Run Code Online (Sandbox Code Playgroud)

我还尝试以编程方式将编辑器设置为蓝色,它确实触发了“组合”事件,但这会导致一些不需要的动画和 UI 更改。

任何帮助将不胜感激,提前谢谢您。

javascript contenteditable uiwebview ios

9
推荐指数
0
解决办法
1269
查看次数