Guild icon
swift-developers-japan
開発環境, ライブラリ / cocoa
Avatar
NSViewController.init() は同名の xib 読み込んでくれるんだねえ
Avatar
Kishikawa Katsumi 10/31/2017 7:27 AM
UIViewControllerもそのはずですよ。
Avatar
マジ・・・・・・
Avatar
あれ?
Avatar
読み込むはず
Avatar
一生気づいてなかった
Avatar
そうなのか
7:28 AM
それってIBOutletとか初期化されてるのかな
7:28 AM
viewを参照してはじめてロードされる?
Avatar
Kishikawa Katsumi 10/31/2017 7:28 AM
ただViewControllerの.xibを作ることはもうレアケースですね。
Avatar
タイミングはview参照時
Avatar
あ、xibか。storyboardかと。
Avatar
Kishikawa Katsumi 10/31/2017 7:29 AM
システムがインスタンス化するのと挙動は同じですよ。
Avatar
クラスと同名のnibをinitに渡すラッパー、無限に作ってたわ
Avatar
同名って
Avatar
HogehogeViewController.xib
Avatar
アプリ名.HogehogeViewControllerにはならないのか
Avatar
ああ、Swiftになってから . でsplitしてた (edited)
Avatar
If the view controller class name ends with the word ‘Controller’, as in MyViewController, it looks for a nib file whose name matches the class name without the word ‘€œController’, as in MyView.nib. It looks for a nib file whose name matches the name of the view controller class. For example, if the class name is MyViewController, it looks for a MyViewController.nib file.
7:36 AM
本当だ
7:36 AM
しかも MyView.nib と MyViewController.nib の両方を試すのか。
7:36 AM
ありがとうございます・・・
Avatar
Kishikawa Katsumi 10/31/2017 7:37 AM
正直 MyView.nib にフォールバックするのはやりすぎだと思う。
Avatar
あーあった
7:38 AM
まー元々の意図としてはきれいなMVCの世界で
7:39 AM
Vはxibで定義、CをViewControllerとしてクラスで定義ってやりたかったんだろうなと思ってる
Avatar
下記のようにNSTableHeaderCell を自作のサブクラスに差し替えると、意味不明な deinit が呼び出されてクラッシュするんですが、NSTableHeaderCell の差し替え方について知っている方が居たら助けてほしいです・・・ override func viewDidLoad() { super.viewDidLoad() for column in tableView.tableColumns { let headerCell = MyHeaderCell.init(textCell: column.title) column.headerCell = headerCell } } 再現リポジトリです。実行するだけでクラッシュします。 クラッシュしない場合はテーブルのカラムを思いっきり左右にドラッグすると死にます。 https://github.com/omochi/nstableheadercell-bug (edited)
Contribute to nstableheadercell-bug development by creating an account on GitHub.
2:29 AM
2017-11-21 11:23:53.295486+0900 nstableheadercellbug[23493:18211887] Unknown Window class (null) in Interface Builder file, creating generic Window instead [Cat(0x00006100000490c0)::init] [MyHeaderCell(0x00006100000a0120)::init(textCell:)] [Cat(0x00006100000492d0)::init] [MyHeaderCell(0x00006100000a13e0)::init(textCell:)] [Cat(0x0000610000049360)::init] [MyHeaderCell(0x00006100000a14a0)::init(textCell:)] [MyHeaderCell(0x00006180000a6120)::deinit] [Cat(0x0000610000049360)::deinit] [MyHeaderCell(0x00006080000a55e0)::deinit]
2:30 AM
意味不明なdeinitです。deinitされてる self のアドレスが謎のものに。
2:34 AM
クラッシュさせるために Cat をプロパティにもたせているんですけど、これをプロパティから除去するとクラッシュはしなくなります。
2:35 AM
でも、ちょこちょこdeinitが呼ばれて、カラムの数より多い回数のdeinitが呼ばれる・・・ default column: 0x00006080000a0ea0 [MyHeaderCell(0x00006180000a23a0)::init(textCell:)] default column: 0x00006080000a1020 [MyHeaderCell(0x00006180000a21c0)::init(textCell:)] default column: 0x00006080000a11a0 [MyHeaderCell(0x00006180000a2820)::init(textCell:)] [MyHeaderCell(0x00006080000a20a0)::deinit] [MyHeaderCell(0x00006080000a2460)::deinit] [MyHeaderCell(0x00006100000a2b20)::deinit] [MyHeaderCell(0x00006100000a3360)::deinit] [MyHeaderCell(0x00006100000a3240)::deinit] [MyHeaderCell(0x00006080000a4140)::deinit]
2:39 AM
headerCellを自作インスタンスに差し替える部分については、下記などを参考にしました。(38点の回答) https://stackoverflow.com/questions/4753282/modifying-table-headers-on-mac (edited)
I've been able to find tutorials on modifying the table headers on iOS using UITableView - but havent been able to find any info for mac development. Does anyone know of any good resources / steps to
Avatar
xib使ってたらクラス指定して無理やり入れ替えることとか出来ないかしら
2:40 AM
UITabBarControllerのUITabBarみたいに
Avatar
↑はStoryboardになってるよ。 NSTableView, NSTableHeaderView についてはそれができる。 NSTableRowView, NSTableCellView については NSTableViewのデリゲートでできる。 NSTableHeaderCell はカスタマイズの口がここしか見当たらない。
Avatar
ふむ
Avatar
もしかしてSwiftとObjCの間の接続がおかしいのかと思ってObjCだけで作ってみたけど同じ事になった。 https://github.com/omochi/nstableheadercell-bug/tree/master/nstableheadercellbugobjc
Contribute to nstableheadercell-bug development by creating an account on GitHub.
Avatar
Kishikawa Katsumi 11/21/2017 3:04 AM
古いソースコードを引っ張り出して検証してみましたが、Deallocが呼ばれまくるのはおそらくそういうものなのだと思われます。
3:05 AM
ヘッダーセルのカスタマイズのコードも正しいと思います。
Avatar
ありがとうございます、 「古いソースコードを引っ張り出して検証してみましたが」 これは、以前ヘッダーカスタマイズをしたプログラムがあって、正しく動いていたけど、 deallocの謎の呼び出しはそれでも発生していた、という意味ですか?
Avatar
Kishikawa Katsumi 11/21/2017 3:06 AM
そうです。
Avatar
確かCocoaって
Avatar
ええぇ・・・
Avatar
Kishikawa Katsumi 11/21/2017 3:07 AM
そのプログラムのヘッダーセルのクラスにdeallocメソッドを追加してログを出してみました。
Avatar
UI作るときにテンプレートオブジェクト作ってた気がするんですよね
3:08 AM
その残滓なんじゃないかしら
3:08 AM
えーっと
Avatar
Kishikawa Katsumi 11/21/2017 3:08 AM
ちなみに非ARCなので release を消したりしてみたのですが変わらず。何をしてるのかよくわからない。
Avatar
Reusableなセルも、registerClassとかregisterNibじゃなくてregisterPrototypeみたいなのがあった気がする (edited)
Avatar
同じ数だけ copy() が呼ばれてるっぽい。
3:09 AM
default column: 0x00006080000a61e0 [MyHeaderCell(0x000060c0000a0f60)::init(textCell:)] default column: 0x00006080000a6360 [MyHeaderCell(0x000060c0000a0fc0)::init(textCell:)] default column: 0x00006080000a64e0 [MyHeaderCell(0x000060c0000a1020)::init(textCell:)] [MyHeaderCell(0x000060c0000a1020)::copy] [MyHeaderCell(0x00006040000a5280)::deinit] [MyHeaderCell(0x000060c0000a1020)::copy] [MyHeaderCell(0x00006040000a5580)::deinit] [MyHeaderCell(0x000060c0000a1020)::copy]
Avatar
@Kishikawa Katsumi その以前のコードでは、プロパティは追加してなかったからクラッシュしないってことでしょうか? (edited)
3:10 AM
@rintaro お・・・!?じゃあcopyが適切に動けば問題が生じないはずということ・・・?
Avatar
override func copy() -> Any { print("[MyHeaderCell(\(addr(self)))::copy]") return super.copy() } かもしれないですね。
Avatar
viewがコピー前提なの辛い
3:11 AM
Prototypeオブジェクトもよくよく考えればcopyするか、しますね…
Avatar
Kishikawa Katsumi 11/21/2017 3:12 AM
@omochimetaru そうですね、背景色や文字色をdrawメソッドでカスタマイズしていて、タイトルなどはもともと持っているsuper.stringValueなどを利用しているのでカスタムプロパティないですね。ちょっと適当に追加してみます。
Avatar
override func copy(with zone: NSZone? = nil) -> Any { return MyHeaderCell.init(textCell: self.stringValue) } 落ちなくなった!!!!!!!!!!!
👏 5
3:15 AM
@Kishikawa Katsumi @rintaro ありがとうございます、解決した気がします、自分じゃ絶対思いつかなかった・・・助かりました・・・
3:16 AM
ObjectiveCのクラスを継承するときは copyWithZone をちゃんとオーバーライドしないといけないんですね。 それでもなんかおかしい気がするが・・・
Avatar
Kishikawa Katsumi 11/21/2017 3:17 AM
特殊ケースだと思いますね。
Avatar
@tarunon RegisterについてはNSTableViewは nib のやつしかないんだよね。 CellViewもRowViewも同じキューにためて 同じメソッドのID違いで取り出す謎設計。 UITableViewにあるようなクラスで登録するやつもない。 https://developer.apple.com/documentation/appkit/nstableview
3:18 AM
なんか見えてきた気がする・・・
Avatar
CollectionViewの方かな?
3:19 AM
CollectionViewはCellがViewControllerなんですよね、すごいぞ
Avatar
copyの実装が [self class] alloc] init]になっているんじゃないかと予想したけど、 ObjC版で init をオーバライドしても呼ばれないので違うなあ。
Avatar
initWithZoneみたいなのなかったっけ
Avatar
allocWithZoneやね
Avatar
allocかw
Avatar
zoneはメモリ確保のヒント情報で、initは確保後のセットアップだから、allocのほうにある (edited)
Avatar
Kishikawa Katsumi 11/21/2017 3:30 AM
allocWithZoneはありますけど、最近のシステムでzoneは単に無視されるのでallocと一緒ですね。
Avatar
なるほど合点
Avatar
僕がiOS始めた時点でzone無視だったから謎
Avatar
なるほど、インスタンスプロパティを追加してるからダメなのね。追加プロパティなしで描画カスタマイズだけなら問題ないと。
Avatar
どなたかScripting Bridgeに詳しい方はいらっしゃいますか?
Avatar
SIMBLプラグインをサードパーティアプリにロードするハックのために使ってたことはあるけど、真っ当な用途としては使ったことがないなあ。>Scripting Bridge
Avatar
残念 😢 Bridgeしたものの、何も情報が取れなくて悩んでいるのでした XcodeApplication *app = [SBApplication applicationWithBundleIdentifier: @"com.apple.dt.Xcode"]; NSString *className = app.className; // ちゃんと @"XcodeApplication" になってる SBElementArray<XcodeDocument *> * docs = app.documents; SBElementArray<XcodeWindow *> * windows = app.windows; XcodeDocument *doc = docs.firstObject; // nil XcodeWindow *window = windows.firstObject; // nil NSUInteger docC = app.documents.count; // 0 NSUInteger windowC = app.windows.count; // 0 NSString *name = app.name; // nil XcodeWorkspaceDocument *workspaceDocument = app.activeWorkspaceDocument; XcodeScheme *scheme = workspaceDocument.activeScheme; NSString *schemeName = scheme.name; // nil NSURL *url = workspaceDocument.file; // nil NSString *path = workspaceDocument.path; // nil SBElementArray<XcodeProject *> *projects = workspaceDocument.projects; XcodeProject *proj = projects.firstObject; // nil NSUInteger projC = projects.count; // 0 APIアクセスするたびにコンソールログには Error #17 (os/kern) invalid right attempting to add send right to port ( port:47563/0xb9cb rcv:1,send:0,d:0 limit:5). というエラーが吐かれるので何か問題があるのだろうけれど、その正体が掴めていません。 (edited)
Avatar
ああそうか、Xcode Source Editor ExtensionでもSB使えばプロジェクト情報を取れる可能性があるのか。
Avatar
そうそう、それを試したかったのです
6:21 AM
XcodeApplicationだからダメなのかなと疑って https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ScriptingBridgeConcepts/UsingScriptingBridge/UsingScriptingBridge.html#//apple_ref/doc/uid/TP40006104-CH4-SW1 のサンプル通りのiTunesApplicationで組んでみても、やはり情報は全部nilになるしコマンドはいずれも失敗 Extensionだからダメだというわけではなく、Cocoa AppのAppDelegateあたりで試してみても結果は同じでした (edited)
Avatar
こちらでも試したところ、sandboxの影響を受けるみたいです。
8:57 AM
sandboxを無効にしても invalid right attempting to add send right to port なエラーが出ますが、documents, windowsの取得はできる様になりました。 (edited)
8:59 AM
なので、Xcode Source Editor Extensionではxpcを使う必要がありますね。
Avatar
本当ですね、Sandbox無効にしたら取得できるようになりました。ありがとうございます! ストア公開は諦めるしかないですねえ。
Avatar
ついでに、ScriptingBridgeをSwiftで使ってみたけど、とても使いづらかった。
Avatar
SDP(1)で生成したヘッダをインポートして使おうとするとリンクエラーになってしまうので、 import ScriptingBridge @objc protocol XcodeApplication { @objc optional var documents: SBElementArray { get } @objc optional var windows: SBElementArray { get } } extension SBApplication: XcodeApplication {} guard let xcode: XcodeApplication = SBApplication(bundleIdentifier: "com.apple.dt.Xcode"), let docs = xcode.documents, let windows = xcode.windows else { return } みたいなのを書く必要があった。 (edited)
Avatar
それが面倒でObj-Cでやる決断をしました …が、今見つけたんですがもしかしてこれ流用できるのでは 未検証ですが https://github.com/tingraldi/SwiftScripting https://github.com/tingraldi/SwiftScripting/blob/master/Frameworks/XcodeScripting/XcodeScripting/Xcode.swift (edited)
SwiftScripting - Utilities and samples to aid in using Swift with the Scripting Bridge
SwiftScripting - Utilities and samples to aid in using Swift with the Scripting Bridge
Avatar
そのリポジトリ見ましたが、Xcode 9.1のsdefから作るインターフェイスと差異があったので自分で書いてました。
Avatar
リポジトリのpythonスクリプトでもうまく生成できませんでしたね。結局自分で書く形になりますね…
Avatar
ところでnomuraさんにはXPC周りで伺いたいことがあるのですが、よろしいでしょうか。 Xcode Source Editor ExtensionからXPCに連携させたいのですが、どうしてもうまくいきません。 1. TARGETS で XPC Service を新規作成 2. Bridging Headerに XXXProtocol.h を追加 3. ソースに以下を記述 let connection = NSXPCConnection(serviceName: "XPCのBundle Identifier") connection.remoteObjectInterface = NSXPCInterface(with: XcodeHelperProtocol.self) connection.resume() let xcode = connection.remoteObjectProxy as! XcodeHelperProtocol let semaphore = DispatchSemaphore(value: 0) xcode.upperCaseString("aaaa") { (str) in print(str) semaphore.signal() } _ = semaphore.wait(timeout: .now() + 10) XPC側を Wait for executable to be launched でRunさせたところ、プロセスのAttachすらできていないようでした。 なお、Cocoa App 側で同じことをやったところ、正常に連携できました。 Extensionだとうまくいかない要因が何かあるのでしょうが、nomuraさんのSwiftLintForXcodeでは連携できているのですよね… Projectの設定やinfo.plistの内容などをSwiftLintForXcodeからコピーしていっても一向に解決せず、とても不思議です。 何かコツがあれば、ご教授いただけたら幸いです。
Avatar
少し前にXcode Source Editor Extension https://github.com/norio-nomura/LinuxSupportForXcode/ のデバッグをしたのですが、Xcode 9.1でのデバッグ実行がほぼ動作しなかったのですよね…。 (edited)
LinuxSupportForXcode - LinuxSupport for Xcode is an Xcode Extension
11:27 PM
デバッグ対象のXcodeが起動した時点でExtensionのプロセスが2つ立ち上がっていて、デバッガは片方のExtensionプロセスにアタッチしているのに、Extensionメニューからのイベントにブレークポイントで止まらないし機能もしなかった。
11:29 PM
自動でデバッガがアタッチしていない方のExtensionプロセスに手動でアタッチして、デバッガが動いてる側のXcodeでExtensionメニューを使った時にブレークポイントで止まった事があり、それが唯一動作したデバッグ実行でした。
Avatar
なお、Cocoa App 側で同じことをやったところ、正常に連携できました。 あ、僕のところとは違う理由かも。
11:47 PM
Cocoa Appで動くなら、XPCサービスのバンドルがExtensionのバンドル内に入っていないのが原因かも?
11:49 PM
ExtensionにCopy Filesビルドフェイズが必要だったはずです。 (edited)
Avatar
やはり。デバッグ実行はこちらでもうまくいかなくて、Xcode9.0では大丈夫だったのになーと思ってました。 >Copy Files ズバリでした。これ追加したら、動作させられました! ありがとうございます! 先日の質問の件も合わせ、extension→XPC→ScriptingBridgeと経由して色々遊べるようにできました。 このあたりの知見、Qiitaにまとめさせていただけたらと思います!
👍 1
👏 1
Avatar
takasekといいます。iOSDCにて、Xcode Source Editor Extensionの世界という発表をしました。 iOSDC ですけどiOSの...
👍 4
Avatar
omochimetaru 12/6/2017 2:07 AM
NSTableHeaderCell の謎挙動がわかってきた
2:07 AM
一番右のカラムに対応しているセルが copyWithZone でコピーされて
2:07 AM
その他のセルの塗りつぶしに使われる
2:07 AM
その他のセルっていうのは、一番右の更に右の余白領域と
2:08 AM
あるセルをドラッグして動かそうとしているときに、 動かしたセルが抜けた領域の穴の部分の塗りつぶし
2:09 AM
今のところわかっていることとして、その、塗りつぶしのために使われるコピーされたセルは、 self.attributedStringValue が 長さ0 の空文字列になっているので、 カスタム描画するときは、文字列が長さ0だったら、 塗りつぶし用の複製セルなので、背景色の塗りだけを行って、 その他の飾りは描画しないようにするとよろしい (edited)
2:11 AM
今手元では色の違うカラムが混ざっているんだけど、これのせいで、 一番右にもってくるカラムが変わると、 塗りつぶし色が変わってしまうのでなかなか楽しいことになっている。
Avatar
XcodeのScripting Bridgeを使って、現在のSchemeで使われるビルド設定を取得しようと調べたのだけれど、XcodeSchemeからXcodeBuildConfigurationまでたどり着く方法が見つからず、xcodebuild -workspace … -scheme … -showBuildSettingsの出力をパースするしかないと言う結論にたどり着きつつある…
Avatar
Sierraだと動くんですが、HighSierraだと NSTableViewCell に仕込んだ NSClickGestureRecognizer がうんともすんとも言わないんですが
7:20 AM
なんか回避方法とか知ってる方居ませんか・・・
Avatar
Kishikawa Katsumi 12/14/2017 7:26 AM
@omochimetaru HighSierraのマシンがないので大した役に立てないと思いますが、テーブルビューはView Basedですか?
7:26 AM
NSTableViewCellじゃなくてビューを使っても同様ですかね?
Avatar
ViewBasedです、他のビューは未調査です
Avatar
Kishikawa Katsumi 12/14/2017 7:28 AM
役に立てなさそうです。週末にサブマシンにHighSierraを入れることにします。
Avatar
ありがとうございます・・・ うちも開発機はまだHigh Sierraは入れて無くて、 問題発覚して開発環境のない別の検証機のHigh Sierraで試してるので非常に調査効率が悪いw
7:29 AM
あ、なので、Cocoa App自体は Sierra でビルドしているので
Avatar
Kishikawa Katsumi 12/14/2017 7:30 AM
わかります。NSLogとかで観察するやつだ。
Avatar
もしかしたら High Sierraでビルドしたら問題が消える可能性もあるんですよね
7:30 AM
ですね・・・CocoaAppでもターミナルから起動するとstdoutが見れる事を今日知りましたw
Avatar
Kishikawa Katsumi 12/14/2017 7:32 AM
それいいですね。私はConsole.appをフィルタして見ることが多いです。
Avatar
なるほど
Avatar
xibでNSTableViewを配置すると、 NSScrollView / NSClipView / NSTableView って一発で親子3代が配置されてるんですが
7:49 AM
この一番親のNSScrollViewの .gestureRecognizers の要素数が、 Sierraだと2つなのがHighSierraだと1つに変わっていることがわかったので
7:50 AM
GestureRecognizerに関する排他制御周りの振る舞いが変わっているっぽいです。
Avatar
解決しました。 Sierraでも、NSTableCellViewの子のNSTextFieldに mouseDown イベントは到達していない状態でした。 それでもSierraでは、 そのNSTextField にaddされたNSClickGestureRecognizerは動作するようでした。 一方HighSierraでは、NSTextFieldにmouseDownイベントが到達しない状況においては、それに追加された NSClickGestureRecognizer も動作しないようでした。 NSGestureRecognizerDelegateの shouldRecognizeSimultaneouslyWith でもだめで、そもそもそれ自体呼び出されませんでした。 このmouseDownイベントが到達しないのは NSTableView の仕様で、 validateProposedFirstResponder をオーバライドして挙動に手をいれてやることで到達するようにできました。 この状況では、 GestureRecognizer も期待通りに動作しました。 この TableView の挙動、仕様については、下記の Specifying How Subviews Should Respond to Events に情報がありました。 https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/TableView/RowSelection/RowSelection.html#//apple_ref/doc/uid/10000026i-CH6-SW9
✍🏻 2
Avatar
macOSだとApp Groupによるsandbox間のUserDefaults共有は使えないのかな? (edited)
Avatar
使えた。
Avatar
使えますね KVOもできました
Avatar
omochimetaru 2/9/2018 9:20 AM
DispatchSourceFileと生ソケットを組み合わせて使ってるんだけど、デバッガからのポーズやストップに応答しなくて、 xcodeごと強制終了せざるを得ない場面がちょくちょくある・・・
9:22 AM
まだよくわかってないけど、キューにつなげてあるDispatchSourceが全部suspendしてる状態だとシグナルが握られてる予感 (edited)
9:23 AM
他にも、suspendしてる状態でソケットをcloseするとクラッシュするから、必ずその前にresumeしないといけないという挙動を確認していて
9:25 AM
怪しさがあります
9:25 AM
同じ事やった人居ないかな・・・
Avatar
omochimetaru 2/10/2018 8:26 AM
Contribute to DispatchSocketIssue development by creating an account on GitHub.
8:27 AM
最小テストを作りました クラッシュの問題はtest1で100%再現 デバッガから停止できない問題はtest2, test3でたまに再現 (edited)
8:27 AM
@rintaro アップしました
Avatar
#macos に移動
😋 1
😃 1
Avatar
omochimetaru 7/12/2018 5:46 AM
コマンドキーが押されている時だけうんたらかんたらする機能を作っていたのですが、 あるマシンでコマンドキーが効かない問題が生じて調べたら、 OSの「フルキーボードアクセス」がOFFだとフォーカスが無いからViewControllerにイベントが飛ばない ということが起きた・・・
5:46 AM
モバイルだとこういうユーザー設定によるふるまいの違いはあまり無いからPCは難しいなと思った
Avatar
xcassetsでslicingを設定した画像をNSButtonに設定しているのですが、 High Sierraにおいて押下時だけ変な見た目になって困っています。 (Mojaveでは問題なく表示されています) 調べた限りでは同じ問題が起こっている人は見つからなかったのですが、誰か何かご存じないでしょうか?
6:32 AM
6:32 AM
こんな感じになっています。
Avatar
別のとこあるんですね。 とりあえずslicingやめて対応しました。 他にもMojaveで問題ないのにHigh Sierraでプロジェクト開くとConstraint不足と言われたりするので、両対応なら最初からHighSierraで開発したほうがいい可能性が……
12:52 AM
そして上リンクは開くとInvite Invalid😩
Avatar
この前できた Sierra→High Sierraの時も謎の壊れ方したし、下に合わせても上で壊れるよ
12:55 AM
招待タイムアウトか
Avatar
Kishikawa Katsumi 3/28/2019 8:42 AM
AutoLayoutはMojaveの方が正しく動く例がいくつかあるのは私も観測しています。
Avatar
Taihei Mishima 1/4/2021 4:56 AM
新規プロジェクトでbundlerでcocoapodsやfastlane入れようとしたら下記のエラー踏んだのですが, 同様のエラー踏んだ方いらっしゃらないでしょうか. 一応このissueによると rubyを2.7.2にする などで解決可能と書いてあるのですが, 他の解決方法で解決された方などいらっしゃればご教示いただきたいですmm 私の手元の環境は Catalina 10.15.7 command-line-tools 12.3 ruby 2.6.5 https://github.com/CocoaPods/CocoaPods/issues/10286
Trying to install without using sudo with the following command. gem install --user-install cocoapods I saw a lot of errors and comments reported with Ruby on macOS with the same issue. Error gener...
Avatar
macOS SDKのバージョン違いです
4:57 AM
Xcode 12が入ってるCatalinaですよね? (edited)
4:58 AM
xcode-select --install で commadlien tools を入れて
4:58 AM
export DEVELOPER_DIR=/Library/Developer/CommandLineTools をしておいてください (edited)
4:59 AM
恒久的にするなら、 xcode-select -s /LibraryDeveloper/CommandLineTools でも可 (edited)
4:59 AM
誰も解決してないのか > GitHub の Issue (edited)
5:02 AM
CocoaPods の問題ではない、と言うコメントが全てだなあ...
Avatar
Taihei Mishima 1/4/2021 5:03 AM
Xcode 12が入ってるCatalinaですよね?
その通りです! 試してみます, ありがとうございます!
rtaGl 1
Avatar
(Xcode 12についてくるmacOS SDKはBig SurのものなのでXcode.appのmacOS SDKを使うといろいろおかしくなる)
Avatar
Taihei Mishima 1/4/2021 5:08 AM
(Xcode 12についてくるmacOS SDKはBig SurのものなのでXcode.appのmacOS SDKを使うといろいろおかしくなる)
Apple「Xcode12使って開発するならBig Surにアップデートしろよ!」 ということでしょうか?
Avatar
Apple「Big Surにアップデートしろよ!」
5:08 AM
だと思いますw
Avatar
Taihei Mishima 1/4/2021 5:08 AM
なるほどw ありがとうございますw
Avatar
Apple の中の人でアクティブに開発をしているひとが、古いバージョンを日常的に使ってるとは思えないので
5:10 AM
かといって最新すぎるのもあれだし... って言う感じですかねえ... いろいろ iOS もそうだけど、古いのを Apple のプラッットフォームで使うのにはそれなりの努力が必要。
5:10 AM
(という自分もまだ Catalina。)
Avatar
Taihei Mishima 1/4/2021 5:12 AM
Big Surに上げるの尻込みしてたんですが上げてみようかしら. BitriseのStackもXcode12.3 Catalinaで動いてるから普通に問題なく動くのかなーって思い込んでました.
Avatar
Big Sur ですごい困ってるっていう話はあまり聞かないので上げても殆ど問題ないと思うけれど (edited)
5:14 AM
MDMで管理されてるやつとか、Kernel Extensionいれてるやつはダメかも。
Exported 167 message(s)
Timezone: UTC+0