タグ付けされた質問 「swift」

Swiftは、Apple Inc.が自社のプラットフォームとLinux用に開発した、安全で高速、かつ表現力豊かな汎用プログラミング言語です。Swiftはオープンソースです。このタグは、言語機能に関する質問、またはSwiftのコードが必要な場合にのみ使用してください。プラットフォームまたはフレームワークに関する(言語に依存しない)質問には、タグ[ios]、[ipados]、[macos]、[watch-os]、[tvos]、[cocoa-touch]、および[cocoa]を使用します。

3
JSONリクエストのAlamoFire非同期completionHandler
AlamoFireフレームワークを使用した後、completionHandlerがメインスレッドで実行されていることに気付きました。以下のコードが、完了ハンドラー内でCoreDataインポートタスクを作成するための優れたプラクティスであるかどうか疑問に思っています。 Alamofire.request(.GET, "http://myWebSite.com", parameters: parameters) .responseJSON(options: .MutableContainers) { (_, _, JSON, error) -> Void in dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), { () -> Void in if let err = error{ println("Error:\(error)") return; } if let jsonArray = JSON as? [NSArray]{ let importer = CDImporter(incomingArray: jsonArray entity: "Artist", map: artistEntityMap); } }); }
80 swift  alamofire 

9
iOS UISearchBarで(入力速度に基づいて)検索を調整する方法は?
ローカルCoreDataとリモートAPIの両方からの検索結果を表示するために使用されるUISearchDisplayControllerのUISearchBar部分があります。私が達成したいのは、リモートAPIでの検索の「遅延」です。現在、ユーザーが入力した文字ごとに、リクエストが送信されます。ただし、ユーザーが特に速く入力する場合、多くのリクエストを送信することは意味がありません。入力が停止するまで待つと役立ちます。それを達成する方法はありますか? ドキュメントを読むと、ユーザーが明示的に検索をタップするまで待つことをお勧めしますが、私の場合は理想的ではありません。 パフォーマンスの問題。検索操作を非常に迅速に実行できる場合は、デリゲートオブジェクトにsearchBar:textDidChange:メソッドを実装することで、ユーザーが入力しているときに検索結果を更新できます。ただし、検索操作に時間がかかる場合は、ユーザーが[検索]ボタンをタップするまで待ってから、searchBarSearchButtonClicked:メソッドで検索を開始する必要があります。メインスレッドのブロックを回避するために、常にバックグラウンドスレッドで検索操作を実行してください。これにより、検索の実行中にアプリがユーザーに応答し続け、ユーザーエクスペリエンスが向上します。 APIに多くのリクエストを送信することは、ローカルパフォーマンスの問題ではなく、リモートサーバーでのリクエスト率が高すぎることを回避することだけです。 ありがとう

7
Xcode 11.4。Navigationのタイトルカラーがストーリーボードから黒くなりました
最近、Xcodeを11.4に更新しました。デバイスでアプリを実行すると、ストーリーボードから設定されていると、すべてのナビゲーションアイテムのタイトルが完全に黒くなっていることに気付きました。 コードから変更することはできません。次のコード行は機能しなくなります self.navigationController?.navigationBar.titleTextAttributes = [.foregroundColor: UIColor.white] 私はそれをいくつかのiOS 13のものを使用してのみ動作させるUINavigationBarAppearance @available(iOS 13.0, *) private func setupNavigationBar() { let app = UINavigationBarAppearance() app.titleTextAttributes = [.foregroundColor: UIColor.white] app.backgroundColor = Constants.Color.barColor self.navigationController?.navigationBar.compactAppearance = app self.navigationController?.navigationBar.standardAppearance = app self.navigationController?.navigationBar.scrollEdgeAppearance = app self.navigationController?.navigationBar.titleTextAttributes = [.foregroundColor: UIColor.white] } 誰かがなぜ私に説明できますか??? これは重大なバグですか、それとも新しい隠し機能ですか?

3
crash_info_entry_0:CoreUI:_CUIInternalLinkRendition…Deallocating…Assets.car
Firebase Crashlyticsでクラッシュを検査したところ、[キー]セクションに次の行があることに気付きました。 CoreUI:_CUIInternalLinkRendition 7113 /private/var/containers/Bundle/Application/1E06D0B4-30EA-41CA-998C-D8E86AA94100/.app/Assets.carの割り当てを解除しています これはアプリのアセットに関連していますか?CoreUIのメモリの問題?
54 ios  swift  xcode11 

9
`NavigationView`の` navigationBarItems`内に `NavigationLink`を配置した後に後方に移動すると、SwiftUIアプリがクラッシュするのはなぜですか?
最小限の再現可能な例(Xcode 11.2ベータ、これはXcode 11.1で動作します): struct Parent: View { var body: some View { NavigationView { Text("Hello World") .navigationBarItems( trailing: NavigationLink(destination: Child(), label: { Text("Next") }) ) } } } struct Child: View { @Environment(\.presentationMode) var presentation var body: some View { Text("Hello, World!") .navigationBarItems( leading: Button( action: { self.presentation.wrappedValue.dismiss() }, label: …

6
SwiftUI-ビューにハードコードされたナビゲーションを回避する方法は?
私は、より大きな、本番環境対応のSwiftUIアプリのアーキテクチャーを作ろうとしています。私はいつもSwiftUIの主要な設計上の欠陥を指摘する同じ問題に遭遇しています。 それでも、誰も私に完全に機能する、生産準備の整った答えを与えることができませんでした。 SwiftUIナビゲーションを含む再利用可能なビューを行う方法は? 以下のようSwiftUI NavigationLink強くビューにバインドされ、これは、それが大きなアプリにもスケールするように、単純に不可能です。NavigationLinkこれらの小さなサンプルアプリでは機能します、はい。また、モジュールの境界を越えて再利用することもできます。(例:iOS、WatchOSなどでViewを再利用する...) 設計上の問題:NavigationLinksはビューにハードコードされています。 NavigationLink(destination: MyCustomView(item: item)) しかし、これNavigationLinkを含むビューが再利用可能である場合、宛先をハードコーディングすることはできません。宛先を提供するメカニズムが必要です。私はここでこれを尋ね、かなり良い答えを得ましたが、それでも完全な答えではありません: SwiftUI MVVMコーディネーター/ルーター/ NavigationLink アイデアは、宛先リンクを再利用可能なビューに挿入することでした。一般にこのアイデアは機能しますが、残念ながら、これは実際のプロダクションアプリに拡張できません。複数の再利用可能な画面が表示されるとすぐに、1つの再利用可能なビュー(ViewA)に事前構成されたビューの宛先(ViewB)が必要であるという論理的な問題が発生します。しかしViewB、事前に構成されたビューの宛先も必要な場合はどうViewCでしょうか。に注入する前に、すでに注入されてViewBいる方法で作成する必要があります。などなど...しかし、そのときに渡されなければならないデータが利用できないため、構造全体が失敗します。ViewCViewBViewBViewA 私が持っていたもう1つのアイデアはEnvironment、依存関係注入メカニズムとしてを使用しての宛先を注入することでしたNavigationLink。しかし、これは多かれ少なかれハックとして考える必要があり、大規模なアプリのスケーラブルなソリューションではないと思います。基本的にはすべてに環境を使用することになります。しかし、EnvironmentもView内でのみ使用できるため(別個のCoordinatorsやViewModelsでは使用できません)、これもまた、奇妙な構造を作成すると思います。 ビジネスロジック(例えばビューモデルコード)とビューのようにもナビゲーションを分離する必要があり、(例えばコーディネーターパターン)を分離する必要がビューUIKit我々がアクセスするため、それが可能だUIViewControllerとUINavigationControllerビューの後ろに。UIKit'sMVCには、「Model-View-Controller」ではなく「Massive-View-Controller」というおもしろい名前になるほど多くの概念がまとまってしまうという問題がすでにありました。現在、同様の問題が続いてSwiftUIいますが、私の意見ではさらに悪化しています。ナビゲーションとビューは強く結合されており、分離することはできません。したがって、ナビゲーションが含まれている場合、再利用可能なビューを実行することはできません。これを解決することは可能でしたUIKitが、今では正気な解決策を見ることができませんSwiftUI。残念ながら、Appleはそのようなアーキテクチャ上の問題を解決する方法を説明しませんでした。いくつかの小さなサンプルアプリを入手しました。 私は間違っていると証明されたいです。大規模な本番環境対応アプリでこれを解決するクリーンなアプリデザインパターンを見せてください。 前もって感謝します。 更新:この賞金は数分で終了しますが、残念ながら、まだ誰も実例を提供できませんでした。しかし、他の解決策が見つからず、ここにリンクできない場合は、この問題を解決するための新しい報奨金を開始します。彼らの多大な貢献に感謝します!

6
iOSアプリを実行すると、フレームワークの「コード署名が無効」のランタイムエラーが発生する
このアプリを実行しようとすると、ビルドとインストールは正常に行われますが、実行するとすぐにアプリが壊れてこのエラーメッセージが表示されます。XCode 11およびiOS 13。 dyld: Library not loaded: @rpath/StandardCyborgFusion.framework/StandardCyborgFusion Referenced from: /private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/StandardCyborgExample Reason: no suitable image found. Did find: /private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/Frameworks/StandardCyborgFusion.framework/StandardCyborgFusion: code signature invalid for '/private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/Frameworks/StandardCyborgFusion.framework/StandardCyborgFusion' ここや、この問題に関するアプリデベロッパーフォーラムで多くの同様の投稿を見てきましたが、説明や有効な修正はありません。私はもう試した 掃除と建物 XCodeの再起動 Macを再起動する キーチェーンを完全にリセットする すべてのキーチェーン証明書の信頼設定が「システムデフォルトを使用」にあることを確認します Macを出荷時設定にリセットする 更新1: iOSデバイスに問題があるようです。アプリはシミュレーターで起動できますが、シミュレーターは私の開発目的には適していません。そのため、私のデバイスでこれを機能させる必要があります。最近、iPhone XRをiOS 13.3.1にアップデートしました。 更新2: 同じ問題https://github.com/flutter/flutter/issues/49504を持っているように見える別のグループを見つけました。
33 ios  swift  macos  keychain  dyld 

4
コンパイラエラー:無効なライブラリファイル-CoreLocation
Xcode 8で作成したアプリケーションの1つがあります。そのアプリケーションでCoreLocationとMapKitを使用しました。 iOS今までに最新のアップデートアプリを持っています。そしてそれはうまくいきました。現在、アプリケーションをで更新していますiOS 1。そのXcode 11.0ため、アプリを開いて必要なコードをすべて更新しました。Xcodeの「Perform Changes」などで提案されている設定も更新されました。 今、私はアプリケーションを実行しますが、次のようなエラーが発生します: Compiler error: Invalid library file。 たくさん検索しましたが、解決策が見つかりません。これは新しいバグですか、Xcodeそれとも新しいバグiOSですか? 追加の変更や設定を行う必要があることはありますか?案内してください。これはAppleの既知のバグですか? 編集: 2019-10-18 10:34:39.899827 + 0530 MapLocation [1697:57778]コンパイラエラー:無効なライブラリファイル2019-10-18 10:34:39.900098 + 0530 MapLocation [1697:57778]コンパイラエラー:無効なライブラリファイル2019- 10-18 10:34:39.915973 + 0530 MapLocation [1697:57778]コンパイラエラー:無効なライブラリファイル2019-10-18 10:34:39.916228 + 0530 MapLocation [1697:57778]コンパイラエラー:無効なライブラリファイル 2019-10-18 10:34:39.920608 + 0530 MapLocation [1697:57778]更新された座標は<+ 23.02055700、+ 72.50524900> +/- 5.00m(速度-1.00 mps /コース-1.00)@ 10/18/19 …

5
複数のシート(isPresented :)がSwiftUIで機能しない
このContentViewには2つの異なるモーダルビューがあり、sheet(isPresented:)両方に使用していますが、最後のビューのみが表示されるようです。この問題を解決するにはどうすればよいですか?または、SwiftUIのビューで複数のシートを使用することはできませんか? struct ContentView: View { @State private var firstIsPresented = false @State private var secondIsPresented = false var body: some View { NavigationView { VStack(spacing: 20) { Button("First modal view") { self.firstIsPresented.toggle() } Button ("Second modal view") { self.secondIsPresented.toggle() } } .navigationBarTitle(Text("Multiple modal view problem"), displayMode: .inline) .sheet(isPresented: $firstIsPresented) { …

1
Xcode起動画像ソース
私は非常にばかげた質問をしています。私のxcodeプロジェクトにはLaunch Image Sourceの設定がありません。スプラッシュスクリーンイメージをImages.xcassets-> LaunchImageにすでに追加しましたが、私のプロジェクトターゲットではGeneral- > App Icon and Launch Imagesにはありません起動画像ソースの設定がありません

1
Xcode 11.4循環参照エラー
Xcode 11.4でプロジェクトをコンパイルすると(以前のXcodeプロジェクトは問題なくビルドされています)、次の999以上のエラーが発生します(ビルドをクリーンアップし、派生データを削除しました)。 <unknown>:0: error: circular reference <unknown>:0: error: circular reference <unknown>:0: note: through reference here <unknown>:0: error: circular reference <unknown>:0: error: circular reference <unknown>:0: note: through reference here <unknown>:0: note: through reference here <unknown>:0: error: circular reference <unknown>:0: note: through reference here <unknown>:0: error: circular reference <unknown>:0: error: circular reference …
20 ios  swift  xcode 

4
Swift Combineで@Publishedを使用して計算されたプロパティと同等ですか?
命令型Swiftでは、状態を複製せずにデータへの便利なアクセスを提供するために計算されたプロパティを使用するのが一般的です。 命令型MVCを使用するために作成されたこのクラスがあるとします。 class ImperativeUserManager { private(set) var currentUser: User? { didSet { if oldValue != currentUser { NotificationCenter.default.post(name: NSNotification.Name("userStateDidChange"), object: nil) // Observers that receive this notification might then check either currentUser or userIsLoggedIn for the latest state } } } var userIsLoggedIn: Bool { currentUser != nil } // …

5
新しいビルドのtestflightで内部テスターの更新が表示されない
ビルドのコンプライアンスオプションの欠落を受け入れた後、昨日新しいビルドをアップロードしましたが、ステータスは「テスト中」ですが、招待は内部テスターに​​送信されず、そのビルドのtestflightアプリに更新も表示されません。このビルドに4人のテスターを追加しました。スクリーンショットを参照してください。
18 ios  swift  testflight 

2
埋め込みフレームワークの署名がXcode 11.2.1で機能しない
フレームワーク(AequumPOCFramework.framework)内にフレームワーク(Alamofire)を埋め込み(そして署名)しようとしている小さな概念実証アプリがありますが、デバイスにデプロイしようとすると、私のエラー ....ライブラリ検証を使用するプロセスでの使用は無効です:マップされたファイルにはcdhashがなく、完全に署名されていませんか?コードには少なくともアドホック署名が必要です。 Alamofireを組み込まずに独自のフレームワークをデプロイしようとすると、すべてが正常に動作します。 iPhoneへのデプロイ時の完全なエラーは次のとおりです。 dyld:ライブラリが読み込まれていません:@ rpath / Alamofire.framework / Alamofire参照元:/private/var/containers/Bundle/Application/EDB697EB-EA15-4301-B4B6-A8FE1F0212BE/PocIOS.app/Frameworks/AequumPOCFramework.framework/AequumPOCFramework Reason :適切な画像が見つかりません。/private/var/containers/Bundle/Application/EDB697EB-EA15-4301-B4B6-A8FE1F0212BE/PocIOS.app/Frameworks/AequumPOCFramework.framework/Frameworks/Alamofire.framework/Alamofire:(/ private / var /containers/Bundle/Application/EDB697EB-EA15-4301-B4B6-A8FE1F0212BE/PocIOS.app/Frameworks/AequumPOCFramework.framework/Frameworks/Alamofire.framework/Alamofire)ライブラリの検証を使用したプロセスでの使用は無効:マップされたファイルにcdhashがありません、完全に署名されていませんか?コードには少なくともアドホック署名が必要です。 何が悪いのですか?
18 ios  swift  xcode  frameworks  sign 

3
ネストされたObservableObjectsにバインドするようにSwiftUIビューに指示する方法
と呼ばれるEnvironmentObjectを取り込むSwiftUIビューがありますappModel。次にappModel.submodel.count、そのbodyメソッドで値を読み取ります。これにより、ビューがプロパティcountにバインドされsubmodel、プロパティが更新されたときに再レンダリングされることが期待されますが、これは発生しないようです。 これはバグですか?そうでなければ、SwiftUIで環境オブジェクトのネストされたプロパティにビューをバインドする慣用的な方法は何ですか? 具体的には、私のモデルは次のようになります... class Submodel: ObservableObject { @Published var count = 0 } class AppModel: ObservableObject { @Published var submodel: Submodel = Submodel() } そして私の見解はこのように見えます... struct ContentView: View { @EnvironmentObject var appModel: AppModel var body: some View { Text("Count: \(appModel.submodel.count)") .onTapGesture { self.appModel.submodel.count += 1 } } } アプリを実行してラベルをクリックすると、countプロパティは増加しますが、ラベルは更新されません。 これをappModel.submodelプロパティとしてに渡すことで修正できますがContentView、できれば避けたいと思います。
18 ios  swift  swiftui  combine 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.