問題タブ [swift4.2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
855 参照

swift - iOS 12 (Swift 4.2) 以降、ボタンのグラデーションが機能しない

iOS 12 と Swift 4.2 の登場により、コードが機能しなくなりました。以前は、左から右へ、濃い紫から薄紫のボタンへのグラデーションでした。どうすればこれを修正できますか?

0 投票する
0 に答える
211 参照

xcode - iOS 12 シミュレーターの初回起動時にテストが失敗する

私は現在、テストに関して iOS 12 シミュレーターで非常に奇妙な問題を抱えており、それを解決する方法がよくわかりません。

ここで説明するために最善を尽くしますが、何が起こっているのか完全には理解していません。意味が分からない場合はご容赦ください。

いくつかの個別のプロジェクトを含む Xcode ワークスペースがあり、それぞれにいくつかの機能テストが含まれています。

このワークスペースは Bitrise にも接続されており、マージ リクエストが開かれるたびにテストを実行します。

すべてのプロジェクトとターゲットを Swift 4.2 にアップグレードするまで、すべて正常に機能していました。アップグレード自体は問題なく行われ、プロジェクト ファイルの設定と一緒にアプリ デリゲートに小さな変更が 1 つだけあったため、移行で問題が発生したことはないと確信しています。

以前は、ローカル シミュレーターと Bitrise ですべてのテストが正常に実行され、合格していました。

この移行後、Bitrise で 2 つのテストが失敗し、毎回同じ 2 つです。

少し遊んだ後、私はなんとかローカルに複製し、iOS 12 シミュレーターの初回起動のみで実行すると、これらのテストがローカルで失敗することを発見しました。

新しい iOS 11.4 シミュレーターで初めてテストすると、すべてのテストに合格します。

新しい iOS 12 シミュレーターで初めてテストすると、2 つのテストが失敗します。

その後、iOS 12 シミュレーターを閉じて再度テストすると、2 つのテストのいずれかが失敗します。

完全に新しいシミュレーターの起動にリンクされているように見えるという事実は、ビルドごとに新しいシミュレーターを使用して新しい環境で実行されると想像しているため、Bitrise が失敗する理由を説明しています (ただし、ある時点で幸運に恵まれ、すでに iOS 12 シミュレーターを実行しているので、すべて正常に動作しますか?!)。

テスト自体は、地域の監視に関連しています。リージョンの監視リクエストが送信されたときにリージョンを配列に追加し、監視を停止するリクエストが送信されたときにそれを削除するモック ロケーション マネージャーがあります。

失敗するテストはtestStopScanningRemovesMonitoredRegions.

2 つの領域を追加するためのアサーションがパスします。

各削除後のアサーションは失敗します。

私が作成した仲介者オブジェクトが、CLLocationManagerそれ自体ではなく、これらの開始/停止監視イベントを正しく要求することをテストしています。

これがある程度の意味をなすことを願っています。私はすべての関連情報を含めようとしています!

0 投票する
1 に答える
1291 参照

alamofire - Swift 4.2 Alamofire: 呼び出しでの追加の引数「メソッド」

コードを Xcode 10 および Swift 4.2 に更新しましたが、このエラーが発生しました。追加の引数。利用可能なすべてのソリューションを試しましたが、おそらく古いバージョンのSwift用です。私はalamofireバージョンを使用しています:Alamofire 4.7.3で、これが私のコードです:

解決策: JSONEncoder.default を JSONEncoding.default に変換すると、Alamofire が呼び出されます。