คำถามติดแท็ก swift

Swift เป็นภาษาการเขียนโปรแกรมสำหรับวัตถุประสงค์ทั่วไปที่ปลอดภัยรวดเร็วและมีการแสดงออกซึ่งพัฒนาโดย Apple Inc. สำหรับแพลตฟอร์มและ Linux Swift เป็นโอเพ่นซอร์ส ใช้แท็กสำหรับคำถามเกี่ยวกับคุณสมบัติภาษาหรือต้องการรหัสใน Swift เท่านั้น ใช้แท็ก [ios], [ipados], [macos], [watch-os], [tvos], [cocoa-touch] และ [cocoa] สำหรับคำถาม (ภาษาที่ไม่เชื่อเรื่องพระเจ้า) เกี่ยวกับแพลตฟอร์มหรือเฟรมเวิร์ก

2
ความแตกต่างระหว่าง Xcode และ git สำหรับการแก้ไขแพ็คเกจที่รวดเร็ว
ดังนั้นพื้นหลังคือ: ฉันมีโครงการ Xcode ที่ขึ้นอยู่กับแพคเกจที่รวดเร็วซึ่งอยู่ในพื้นที่เก็บข้อมูลส่วนตัวบน GitHub แน่นอนว่าต้องใช้กุญแจในการเข้าถึง จนถึงตอนนี้ฉันได้จัดการกำหนดค่า CI เพื่อให้ฉันสามารถ ssh ลงในอินสแตนซ์และgit cloneพื้นที่เก็บข้อมูลที่จำเป็นสำหรับแพ็คเกจ swift น่าเสียดายที่เมื่อใช้งานด้วยxcbuildCI ไม่ทำงานและฉันได้รับข้อความนี้: static:ios distiller$ xcodebuild -showBuildSettings -workspace ./Project.xcworkspace \ -scheme App\ Prod Resolve Package Graph Fetching git@github.com:company-uk/ProjectDependency.git xcodebuild: error: Could not resolve package dependencies: Authentication failed because the credentials were rejected ในทางกลับกันgit cloneจะดึงเอา repo นี้อย่างมีความสุขตามที่เห็นที่นี่: static:ios distiller$ …

2
บันทึกคำเตือนของ SKView
เมื่อเรียกใช้แอป SwiftUI & SpriteKit ของฉันฉันได้รับข้อความต่อไปนี้ในบันทึก: 2019-11-18 21: 58: 57.631912 + 0000 PixelBattles [2812: 1215803] SKView: ละเว้น RenderSyncInLayoutSubviews ไม่มี โทร _renderSynchronouslyForTime โดยไม่มีตัวจัดการ ฉันทำอะไรผิดเพื่อรับบันทึกนี้และฉันควรกังวลกับเรื่องนี้หรือไม่? มันอาจเป็นข้อบกพร่องหรือไม่? มันสามารถเป็นที่ SwiftUI ไม่สามารถคิดออกว่าจะทำรูปแบบสำหรับSKView? การแก้ไขที่สำคัญ: หากคุณต้องการรหัสคุณสามารถดูได้ในการแก้ไขก่อนหน้า ด้านล่างฉันระบุว่าเพราะเหตุใดฉันจึงไม่คิดว่าจะเกี่ยวข้องกันอีกต่อไป ฉันส่งคำติชมมาแล้ว ( FB7456217) ฉันได้ลบรหัสออกไปแล้วเนื่องจากฉันไม่สงสัยอีกต่อไปว่ามันเป็นปัญหาของรหัสของฉัน ฉันสร้างโครงการเกมว่างเปล่าไม่มี SwiftUI และยังได้รับบันทึกการเตือนเดียวกันทันที ดังนั้นแม้จะมีเทมเพลตโครงการเริ่มต้นแล้วก็ตามบันทึกยังคงปรากฏสำหรับอุปกรณ์และเครื่องมือจำลอง ฉันจะอัปเดตเกี่ยวกับปัญหานี้หากฉันได้รับการตอบกลับที่มีประโยชน์ ฉันยังไม่ได้ยินอะไรเลย - มีใครได้รับข้อมูลใหม่ตั้งแต่เมื่อฉันโพสต์สิ่งนี้เมื่อครึ่งเดือนที่แล้ว? ฉันยังมีคำเตือนเหล่านี้!

4
จะตรวจสอบว่ามีการติดตั้ง Apple Music บนอุปกรณ์ของผู้ใช้ได้อย่างไร?
ฉันกำลังสร้างแอปเพลงด้วยความรวดเร็ว แอพช่วยให้ผู้ใช้เล่นเพลงผ่านการสมัครรับข้อมูล Apple Music ผ่านแอป Apple Music ของพวกเขา ฉันสามารถตรวจสอบว่าผู้ใช้มีการสมัครรับข้อมูล Apple Music ผ่านทาง: SKCloudServiceController().requestCapabilities { (capability:SKCloudServiceCapability, err:Error?) in guard err == nil else { print("error in capability check is \(err!)") return } if capability.contains(SKCloudServiceCapability.musicCatalogPlayback) { print("user has Apple Music subscription") } if capability.contains(SKCloudServiceCapability.musicCatalogSubscriptionEligible) { print("user does not have subscription") } } …

1
วิธีการตั้งค่าปุ่ม ContextMenu สำหรับการลบและปิดการใช้งานใน SwiftUI?
ฉันพยายามกำหนดค่าปุ่มในcontextMenuแต่มันไม่ทำงาน Text("A label that have context menu") .contextMenu { Button(action: { // remove it }) { Text("Remove") .foregroundColor(.red) // Not working Image(systemName: "trash") }.disabled(true) // Not working } สิ่งที่ฉันมี: สิ่งที่ฉันกำลังค้นหา: ( ลบและปุ่มโทรออก ) ฉันจะสร้างสิ่งUIActionต่อไปนี้UIKitแต่ฉันไม่พบตัวดัดแปลงใด ๆ หรือนำสิ่งนี้ไปยังSwiftUI : let delete = UIAction(title: "Remove", image: UIImage(systemName: "trash"), attributes: .destructive) { action in …

1
ข้อผิดพลาดของ Google AdMob หลังจากอัปเดตเป็น Xcode 11 Swift 5.1
เนื่องจากฉันได้อัปเดตเป็น Xcode 11 โฆษณาคั่นระหว่างหน้าในแอพของฉันจะไม่โหลดอีกต่อไป (ก่อนหน้านั้นทุกอย่างทำงานได้ดีแอพนี้ยังเปิดตัวได้ใน App Store ตอนนี้เรากำลังสร้างแอพเวอร์ชันที่อัปเดตแล้ว) ฉันติดตั้ง Google AdMobs SDK ผ่าน Cocoapods และอัปเดตเป็นเวอร์ชันล่าสุด ยังไม่ประสบความสำเร็จ (ฉันทำตามทุกขั้นตอนของการสอนของ Google วิธีใช้โฆษณาคั่นระหว่างหน้า) นี่คือข้อความแสดงข้อผิดพลาดที่ฉันได้รับจากคอนโซล: 2019-10-10 21:42:35.543249+0100 BuszZer[76592:876619] <Google> To get test ads on this device, set: request.testDevices = @[ kGADSimulatorID ]; 2019-10-10 21:42:35.599222+0100 BuszZer[76592:876796] [Client] Updating selectors failed with: Error Domain=NSCocoaErrorDomain Code=4099 "The connection …

1
macOS SwiftUI มุมมองแท็บแอปพร้อมการควบคุมแบ่งกลุ่มใน Toolbar
ฉันกำลังพยายามสร้างแอป macOS ด้วย SwiftUI ฉันต้องการTabViewหรือสิ่งที่คล้ายกัน แต่เมื่อฉันใช้TabViewการควบคุมแบ่งส่วนไม่ได้อยู่ในแถบเครื่องมือ macOS คลิกที่นี่เพื่อดูตัวอย่างสิ่งที่ฉันต้องการ รหัสปัจจุบันของฉันคือ: import SwiftUI struct ContentView: View { var body: some View { TabView { Text("1") .tabItem { Text("1") } } } } ผลลัพธ์อยู่ที่นี่เป็นรูปภาพ การควบคุมแบ่งส่วนจะต้องอยู่ในแถบเครื่องมือไม่ใช่มุมมอง ขอบคุณ.
9 swift  xcode  macos  swiftui 

1
วิธีการดีบั๊ก“ ล้มเหลวก่อนกำหนด” ใน Xcode?
ฉันกำลังสร้างแอป SwiftUI บน Xcode 11 แต่จะยกเลิกทันทีเมื่อใดก็ตามที่ฉันเปลี่ยนไปใช้แท็บเฉพาะในแอป สิ่งที่มันมักจะชี้ไปที่Application Delegateไฟล์ซึ่งฉันคิดว่าไม่ใช่ปัญหา ฉันยังได้รับข้อผิดพลาดนี้ในคอนโซลprecondition failure: invalid input index: 2และนั่นก็ไม่มีรายละเอียดเพิ่มเติมเกี่ยวกับสิ่งที่ไฟล์อาร์เรย์หรือฟังก์ชั่นข้อผิดพลาดนี้มาจาก มีวิธีใดบ้างใน Xcode ที่จะแยกสิ่งที่ทำให้เกิดปัญหานี้?

1
ฉันจะแกะค่าตัวเลือกภายในการรวมใน Swift ได้อย่างไร
ฉันกำลังสร้างแอปโดยใช้ SwiftUI และต้องการเปลี่ยนเป็นBinding<Value?>a Binding<Value> ในแอพของฉันมีสิ่งAvatarViewที่รู้วิธีการแสดงภาพสำหรับผู้ใช้เฉพาะ struct AvatarView: View { @Binding var userData: UserData ... } แอพของฉันมีContentViewสองสิ่งที่เป็นเจ้าของ: พจนานุกรมของผู้ใช้ตาม ID และรหัสของผู้ใช้ที่เราควรแสดงอวาตาร์ struct ContentView: View { @State var userById: Dictionary<Int, UserData> @State var activeUserId: Int var body: some View { AvatarView(userData: $userById[activeUserId]) } } ปัญหา: รหัสข้างต้นไม่รวมเพราะ$userById[activeUserId]เป็นประเภทBinding<UserData?>และจะใช้เวลาในAvatarViewBinding<UserData> สิ่งที่ฉันพยายาม ... $userById[activeUserId]!Binding<UserData?>ไม่ได้เพราะมันพยายามกับแกะ คุณสามารถแกะไม่OptionalBinding<Optional> $(userById[activeUserId]!)ไม่ทำงานสำหรับเหตุผลที่ฉันยังไม่เข้าใจ แต่ผมคิดว่าบางสิ่งบางอย่างเกี่ยวกับการแก้ไขที่รวบรวมเวลาเพื่อให้คุณไม่สามารถดูเหมือนจะคำนำหน้าโดยพลการแสดงออกด้วย$$
9 ios  swift  swiftui  combine 

1
- [UIThreadSafeNode canPerformAction: withSender:]: ตัวเลือกที่ไม่รู้จักถูกส่งไปยังอินสแตนซ์
ฉันกำลังเผชิญหน้ากับความผิดพลาดนี้ในแอพ iOS ของฉัน Fatal Exception: NSInvalidArgumentException 0 CoreFoundation 0x1b9079c30 __exceptionPreprocess 1 libobjc.A.dylib 0x1b8d940c8 objc_exception_throw 2 CoreFoundation 0x1b8f77fc0 -[NSOrderedSet initWithSet:copyItems:] 3 CoreFoundation 0x1b907e3d4 ___forwarding___ 4 CoreFoundation 0x1b9080570 _CF_forwarding_prep_0 5 UIKitCore 0x1bcf33444 -[UIKeyboardImpl deleteForwardAndNotify:] 6 UIKitCore 0x1bcf39154 __57-[UIKeyboardImpl acceptPredictiveInput:executionContext:]_block_invoke 7 UIKitCore 0x1bcf5b0c8 -[UIKeyboardTaskExecutionContext returnExecutionToParentWithInfo:] 8 UIKitCore 0x1bcf366ec __100-[UIKeyboardImpl addWordTerminator:afterSpace:afterAcceptingCandidate:elapsedTime:executionContext:]_block_invoke 9 UIKitCore 0x1bcf5b0c8 …

1
จะตรวจสอบ CRL และ OSCP เพื่อทำงานบน iOS ได้อย่างไร
ฉันไม่สามารถให้ CRL ทำงานบน iOS ได้ ฉันสร้างกรณีทดสอบสองกรณี ฉันมีใบรับรองที่ถูกต้องออกโดย CA ฉันมีใบรับรองอื่นที่ถูกต้องออกโดย CA แต่ CA ได้เพิ่มใบรับรองนั้นใน CRL ฉันตั้งค่านโยบายการเพิกถอนที่เปิดใช้งานการตรวจสอบ CRL และต้องการให้สำเร็จ func crlValidationTest(trustedCert: SecCertificate, certToVerify: SecCertificate) -> Bool { let basicPolicy = SecPolicyCreateBasicX509() let crlPolicy = SecPolicyCreateRevocation(kSecRevocationOCSPMethod | kSecRevocationCRLMethod | kSecRevocationRequirePositiveResponse)! var trust: SecTrust? SecTrustCreateWithCertificates(NSArray(object: certToVerify), NSArray(objects: basicPolicy, crlPolicy), &trust) SecTrustSetAnchorCertificates(trust!, NSArray(object: trustedCert)) SecTrustSetNetworkFetchAllowed(trust!, …

1
ส่วนที่ยุบได้: [ยืนยัน] ไม่สามารถกำหนดดัชนีแถวส่วนกลางใหม่สำหรับ preReloadFirstVisibleRow (0)
ฉันกำลังใช้ส่วนหัวของส่วนที่ยุบได้ใน UITableViewController นี่คือวิธีที่ฉันกำหนดจำนวนแถวที่จะแสดงต่อส่วน: override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return self.sections[section].isCollapsed ? 0 : self.sections[section].items.count } มีโครงสร้างที่เก็บข้อมูลส่วนด้วยบูลสำหรับ 'isCollapsed' นี่คือวิธีที่ฉันจะสลับสถานะของพวกเขา: private func getSectionsNeedReload(_ section: Int) -> [Int] { var sectionsToReload: [Int] = [section] let toggleSelectedSection = !sections[section].isCollapsed // Toggle collapse self.sections[section].isCollapsed = toggleSelectedSection if self.previouslyOpenSection != …

2
วิธีการปัดนิ้วกลับด้วยท่าทางใน SwiftUI มีพฤติกรรมเช่นเดียวกับใน UIKit (interactivePopGestureRecognizer)
ระบบจดจำลายนิ้วมือแบบอินเทอร์แอคทีฟควรอนุญาตให้ผู้ใช้ย้อนกลับไปยังมุมมองก่อนหน้าในการนำทางแบบสแต็กเมื่อพวกเขาปัดหน้าจอมากกว่าครึ่งหนึ่งของหน้าจอ ใน SwiftUI ท่าทางไม่ได้ถูกยกเลิกเมื่อการกวาดนิ้วนั้นไม่ไกลพอ SwiftUI: https://imgur.com/xxVnhY7 UIKit: https://imgur.com/f6WBUne คำถาม: เป็นไปได้ไหมที่จะรับพฤติกรรมของ UIKit ในขณะที่ใช้มุมมอง SwiftUI ความพยายามในการ ฉันพยายามฝัง UIHostingController ไว้ภายใน UINavigationController แต่นั่นให้พฤติกรรมเดียวกับ NavigationView struct ContentView: View { var body: some View { UIKitNavigationView { VStack { NavigationLink(destination: Text("Detail")) { Text("SwiftUI") } }.navigationBarTitle("SwiftUI", displayMode: .inline) }.edgesIgnoringSafeArea(.top) } } struct UIKitNavigationView<Content: View>: UIViewControllerRepresentable { var …
9 ios  swift  swiftui 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.