web-dev-qa-db-ja.com

CFURLCopyResourcePropertyForKeyは、スキームのないこのURLが渡されたため、失敗しました。

これはxcodeの警告/エラーであることを理解していますが、コマンドラインからgitk --allを実行しようとすると発生します。

YuFei-Zhus-MacBook-Pro:test phil88530$ gitk --all
2012-08-02 21:14:49.246 Wish[33464:707] CFURLCopyResourcePropertyForKey failed because it was passed this URL which has no scheme: 
2012-08-02 21:14:49.252 Wish[33464:707] CFURLCopyResourcePropertyForKey failed because it was passed this URL which has no scheme: 
2012-08-02 21:14:49.293 Wish[33464:707] CFURLCopyResourcePropertyForKey failed because it was passed this URL which has no scheme: 
2012-08-02 21:14:49.295 Wish[33464:707] CFURLCopyResourcePropertyForKey failed because it was passed this URL which has no scheme: 
2012-08-02 21:14:49.474 Wish[33464:707] CFURLCopyResourcePropertyForKey failed because it was passed this URL which has no scheme: 
2012-08-02 21:14:49.476 Wish[33464:707] CFURLCopyResourcePropertyForKey failed because it was passed this URL which has no scheme: 
2012-08-02 21:14:50.731 Wish[33464:707] CFURLCopyResourcePropertyForKey failed because it was passed this URL which has no scheme: 
2012-08-02 21:14:50.734 Wish[33464:707] CFURLCopyResourcePropertyForKey failed because it was passed this URL which has no scheme: 
YuFei-Zhus-MacBook-Pro:test phil88530$ 

新しいディスクを交換し、osxを新規インストールして、Mountain Lionに更新し、x11とxcodeをインストールしました。なぜこれが起こるのか提案はありますか?

39
phil88530

エイリアスgk = 'gitk --all 2>/dev/null&'(私はMacを使用しています)

私はそれを〜/ .bash_loginファイルに持っています、そしてそれはそれを解決します:D

.bashrcファイルに入れることもできます

0
phil88530
$ alias gitk='gitk 2>/dev/null'

ここでも同じ問題があります。これは、誰かがこの解決策に答えるまでの簡単なヒントです。

25

MacPortsユーザーの場合、tcl/tkを8.6.0にアップグレードします。

$ Sudo port install tcl tk
8
Tair

新しいバージョンのtcl-tkでgitkを実行すると、この問題が解決するようです(Mac OS X 10.8.4でテスト済み)。 Homebrewをインストールしている場合は、以下が機能するはずです。

  1. コマンドラインから、次のコマンドを実行します:_brew install tcl-tk_
  2. 次に、以下を.bashrcまたは.bash_profileに追加します。alias gitk='"$(brew --prefix tcl-tk)/bin/wish" "$(which gitk)"'

ターミナルを再起動すると、「CFURLCopyResourcePropertyForKey」エラーが発生することなく、通常どおりgitkを実行できるようになります。

7
mon4goos

私はちょうど今このエラーを受け取り、それを解決するための解決策を見つけました。

プロジェクトで関数getResourceValue:forKey:error:を呼び出そうとしましたが、OSのバージョンは10.7.5です。

+ URLWithString:を使用して新しいNSURLオブジェクトを初期化しましたが、以前に問題が発生しましたが、+ fileURLWithPath:に置き換えた後、問題はありません。

機能の異なる2つのオブジェクトの差の値は/ Volumes/Data/a file:// localhost/Volumes/Data/a /です。

Appleは、以下のNSURLクラスについて次のように述べています。

オブジェクト作成の失敗の処理渡されるパスが整形式でない場合、NSURLクラスは新しいNSURLオブジェクトの作成に失敗します。パスはRFC2396に準拠している必要があります。成功しないケースの例は、スペース文字と高ビット文字を含む文字列です。 NSURLオブジェクトの作成が失敗した場合、作成メソッドはnilを返します。これは、処理する準備が必要です。ファイルシステムパスを使用してNSURLオブジェクトを作成する場合は、fileURLWithPath:またはinitFileURLWithPath:を使用する必要があります。これらは、URLパスとファイルシステムパスの微妙な違いを処理します。不正な形式のパス文字列を許容したい場合は、CoreFoundationフレームワークが提供する関数を使用して文字列をクリーンアップする必要があります。

NSURLでgetResourceValue:forKeyメソッドを使用中にエラーが発生しました

5
Itachi

Mountain Lion 10.8.2で、tclとtkのインストール/アップグレードに関するこの問題を修正しました–前述のとおり。

brew install tcl
brew install tk

GitkのUIは変更される可能性がありますが、〜/ .gitkで微調整できます。

3
Alric

このブログ投稿は、これに関する私の問題を解決しました:

http://blog.jasonsemko.com/post/51668282398/easy-fix-for-cfurlcopyresourcepropertyforkey-failed

その長短はgitkがXcodeに付属しているgitのバージョン文字列を正しく解析しておらず、余分な詳細を調べています。

したがって、修正するには、クリーンなバージョン番号でgitをインストールできます。

brew install git

PATHで検索されるディレクトリの順序を変更して、brewのバージョンのgitが呼び出されるようにする必要がある場合があります(たとえば、/usr/bin/localの前に/usr/binをロードする必要がありました)。または、brewによってインストールされた絶対パスにgitをエイリアスすることもできます。

1
dule