というバグレポートを起票しました。
原因となったswift-corelibs-foundationのPRがこちらです。
例として、現在のDarwin(macOSやiOSなど)でのNSNumber
のProtocol準拠は次のとおりです。
どちらかと言うと、NSNumber
やNSString
などがComparable
になるのはポジティブなので、DarwinのFoundationでもComparable
準拠になると嬉しいですね。
というバグレポートを起票しました。
原因となったswift-corelibs-foundationのPRがこちらです。
例として、現在のDarwin(macOSやiOSなど)でのNSNumber
のProtocol準拠は次のとおりです。
どちらかと言うと、NSNumber
やNSString
などがComparable
になるのはポジティブなので、DarwinのFoundationでもComparable
準拠になると嬉しいですね。
社内のSlackでSpongy Castleという名前を聞いて、知らなかったので少し調べてみました。
この辺を見ました:
先日リリースされたCocoaPods 1.7.0.beta.1で、実験的機能としてSpecsのソース(パッケージ定義であるpodspecファイルのセントラルリポジトリ)にCDNを利用できるようになりました。
今までは、ソースとして https://github.com/CocoaPods/Specs のGitリポジトリが使用されており、初期セットアップ時のクローンや、日々のアップデートに結構な時間が掛かっていましたが、ソースのCDN化によりこうした時間が削減できるようになります(必要なデータだけダウンロードされてローカルにキャッシュもされる)。
また、ライブラリの最新バージョンを使おうとしたらローカルのSpecsが更新されていなくて、その都度$ pod repo update
(もしくは$ pod install --repo-update
のオプション付き実行)をしないといけない、というのもなくなるはずです。
Beta期間中の結果によっては、1.7.0の正式リリース時点でCDNソースがデフォルトになるようです。
Depending on the results and stability, we hope that starting with 1.7.0, CocoaPods will no longer require users to clone the master specs repo in order to get started.
この機能を有効にするには、1.7.0.beta.1にアップデートし、プロジェクトのPodfileの先頭に次の1行を足すだけです。
# source 'https://github.com/CocoaPods/Specs' 既存のこの行があれば削除かコメントアウトしましょう source 'https://cdn.jsdelivr.net/cocoa/'
ということでどんどん試していきましょう!💪
そうそう遭遇はしないと思いつつ、Swift 4.2になるとハッシュシードのランダム化により問題が起き得ます。
hashValueは「ダメ。ゼッタイ。」
The standard library now uses a high-quality, randomly seeded, universal hash function, represented by the new Hasher struct. Random seeding varies the result of hashValue on each execution of a program, improving the reliability of the standard library's hashed collections, Set and Dictionary. In particular, random seeding enables better protection against (accidental or deliberate) hash-flooding attacks.
CocoaPods 1.6.0 Betaのブログ記事(2018年8月)を今更ながら読んでいたら、s.test_spec
という定義ができるのを遅まきながら知った。
test_spec
で定義したものがテストターゲットとなり、pod lib lint
かpod spec lint
した時にテストも実行してくれるPod::Spec.new do |s| # ... rest of root spec entries go here # Unit Test Sources - Those do not require an app host to run. # They also require 'OCMock' dependency. s.test_spec 'Tests' do |test_spec| test_spec.source_files = 'Tests/**/*.{h,m}' test_spec.dependency 'OCMock' end # SnapShot Tests Sources - Those *do* require an app host to run. s.test_spec 'SnapshotTests' do |test_spec| test_spec.requires_app_host = true test_spec.source_files = 'SnapshotTests/**/*.{h,m}' end
おまけで、cocoapods-generateという、podspecからXcodeのプロジェクトを生成してくれるプラグインも紹介されていてよさそうだった。SwiftPM(Swift Package Manager)の$ swift package generate-xcodeproj
と一緒の感じですね。
今年は割と潜っていた感じがするので、来年はもっとアクティブに活動できるといいですね。それと今年は新しくリリースした・新たにコミッターになったOSSがなかった年だったっぽいので、何か新しいものに関わったり、Swiftにももっとコミットしていきたいです。沢山旅行もしたいしお金も欲しいしお酒も飲みたい!✈️💰🍻
相性が悪いというかStyleSheet.create
周りで型エラーになってしまう。
Bugラベルは付けられていて、TypeScript 3.2を待つ必要がありそう。