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

iOS เป็นระบบปฏิบัติการมือถือที่รันบน Apple iPhone, iPod touch และ iPad ใช้แท็กนี้ [ios] สำหรับคำถามที่เกี่ยวข้องกับการเขียนโปรแกรมบนแพลตฟอร์ม iOS ใช้แท็กที่เกี่ยวข้อง [object-c] และ [swift] สำหรับปัญหาเฉพาะสำหรับภาษาการเขียนโปรแกรมเหล่านั้น

1
ขยายแป้นพิมพ์ SwiftUI ด้วยปุ่มกำหนดเอง
ฉันกำลังพยายามหาวิธีเพิ่มคีย์หรือปุ่มในหมายเลข SwiftUI การอ้างอิงเดียวที่ฉันพบพบว่ามันเป็นไปไม่ได้ ในโลก Swift ฉันเพิ่มแถบเครื่องมือพร้อมปุ่มเพื่อยกเลิกคีย์บอร์ดหรือใช้งานฟังก์ชั่นอื่น ฉันจะสร้างมุมมอง ZStack ด้วยปุ่มที่อยู่ด้านบน แต่ฉันไม่สามารถหาวิธีเพิ่ม numberPad ในมุมมองของฉันเองได้ ทั้งหมดที่ฉันพยายามทำในกรณีนี้คือการยกเลิกหมายเลขบนหน้าจอเมื่อป้อนข้อมูล ก่อนอื่นฉันพยายามแก้ไข SceneDelegate ให้เลิกใช้ก๊อกน้ำ แต่ใช้ได้เฉพาะเมื่อฉันแตะที่มุมมองข้อความหรือฟิลด์ข้อความอื่นไม่ใช่ในพื้นที่เปิดโล่งในมุมมอง window.rootViewController = UIHostingController(rootView: contentView.onTapGesture { window.endEditing(true) }) โดยหลักแล้วฉันจะเพิ่มปุ่ม Done ที่ช่องว่างด้านล่างซ้าย อันดับที่สองควรเพิ่มแถบเครื่องมือถ้าสามารถทำได้ใน SwiftUI คำแนะนำใด ๆ ที่จะได้รับการชื่นชม Xcode เวอร์ชั่น 11.2.1 (11B500)
10 ios  xcode  keyboard  swiftui 

3
Swiftui - ฉันจะเริ่มต้น Obbject ที่สังเกตได้โดยใช้ environmentobject เป็นพารามิเตอร์ได้อย่างไร
ฉันไม่แน่ใจว่านี่เป็นปฏิปักษ์ในโลก SwiftUI ใหม่ที่กล้าหาญที่เราอาศัยอยู่ แต่โดยพื้นฐานแล้วฉันมี @EnvironmentObject พร้อมกับข้อมูลผู้ใช้พื้นฐานบางอย่างที่บันทึกไว้ในมุมมองของฉันที่สามารถโทรได้ ฉันยังมี @ObservedObject ซึ่งเป็นเจ้าของข้อมูลบางอย่างที่จำเป็นสำหรับมุมมองนี้ เมื่อมุมมองปรากฏขึ้นฉันต้องการใช้ @EnvironmentObject เพื่อเริ่มต้น @ObservedObject: struct MyCoolView: View { @EnvironmentObject userData: UserData @ObservedObject var viewObject: ViewObject = ViewObject(id: self.userData.UID) var body: some View { Text("\(self.viewObject.myCoolProperty)") } } น่าเสียดายที่ฉันไม่สามารถเรียกตนเองว่าตัวแปรสภาพแวดล้อมจนกว่าจะเริ่มต้น: "ไม่สามารถใช้สมาชิกอินสแตนซ์ 'userData' ภายในคุณสมบัติตัวเริ่มต้นคุณสมบัติตัวเริ่มต้นคุณสมบัติที่เรียกใช้ก่อนที่ 'ตัวเอง' จะพร้อมใช้งาน" ฉันเห็นเส้นทางที่เป็นไปได้สองสามทาง แต่พวกเขาทั้งหมดรู้สึกเหมือนแฮ็ก ฉันจะเข้าใกล้สิ่งนี้ได้อย่างไร
9 ios  swift  swiftui  xcode11 

3
กระพือ: ข้อผิดพลาด: ไม่พบตัวรับ: 'หยุดชั่วคราว' เคส AppLifecycleState.suspending
ฉันเพิ่งอัพเกรด Flutter ใน Stable Channel และรับ StackTrace ต่อไปนี้เมื่อพยายามเปิดแอพ (บน iOS Simulator ในเครื่อง) การเรียกใช้การทดสอบหน่วยด้วยflutter testจะได้รับผลกระทบด้วย Launching lib/main.dart on iPhone 8 in debug mode... Compiler message: ../../flutter/.pub-cache/hosted/pub.dartlang.org/native_device_orientation-0.1.2/lib/native_device_orientation.dart:149:30: Error: Getter not found: 'suspending'. case AppLifecycleState.suspending: ^^^^^^^^^^ Target kernel_snapshot failed: Exception: Errors during snapshot creation: null Failed to build bundle. Error launching application on …

3
การจับภาพอินพุต PWA iOS แบบสแตนด์อโลน
ฉันคิดว่าเราพบการถดถอยใน iOS 13.2 / 13.3 เกี่ยวกับ PWAs ที่ทำงานในโหมดสแตนด์อโลน เนื่องจากใน iOS PWA ไม่สามารถเข้าถึง getUserMedia () เราจึงต้องพึ่งพาการจับภาพแอตทริบิวต์การในแท็กอินพุต HTML5 เพื่อให้ผู้ใช้ถ่ายภาพและส่งไปยังเซิร์ฟเวอร์ รหัสของเรามีลักษณะดังนี้: <div class="camera-upload"> <input type="file" class="hidden" name="uploadPhotoInput" accept="image/*" capture="environment" (change)="onTakePhoto($event)"> <button type="button" class="btn btn-primary">Take photo</button> </div> เมื่อเรารัน PWA ในโหมดสแตนด์อโลนบนอุปกรณ์ที่มี iOS 13.1 หรือต่ำกว่านั้นทุกอย่างทำงานได้ตามที่คาดไว้ ถ้าเรารัน PWA ในโหมดเบราว์เซอร์บน Safari ทุกอย่างใช้งานได้โดยไม่คำนึงถึงเวอร์ชั่น iOS เมื่อเราเรียกใช้ PWA บนอุปกรณ์ที่มี iOS 13.2 …

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
ฟีเจอร์“ สินทรัพย์เพื่อการพัฒนา” ที่นำเสนอใน Xcode 11 คืออะไรและจะใช้งานอย่างไร?
เมื่อฉันตรวจสอบการตั้งค่าของเป้าหมายใน Xcode 11.1 (เข้าถึงเมื่อคลิกที่โครงการในแถบนำทางด้านข้างของโครงการแล้วคลิกที่เป้าหมายปฏิบัติการ) ฉันสังเกตเห็นส่วนขยายใหม่ที่เรียกว่า "สินทรัพย์การพัฒนา" ซึ่งไม่มีอยู่ใน Xcode 10. ฉันไม่สามารถหาเอกสารเกี่ยวกับมันหรือกล่าวถึงในบันทึกประจำรุ่นได้ มีใครค้นพบว่าอะไรคือจุดประสงค์ของหัวข้อนี้อะไรคือกรณีการใช้งานที่ดีที่สุดวิธีการใช้งานและเอกสารบางอย่างที่เขียนโดย Apple หรือใครก็ตามในชุมชน
9 ios  xcode  assets  xcode11  ipados 

2
iOS Xcode SPM ล้มเหลวในการยกเลิกการแยกซูเปอร์คลาส
แอพของฉันประกอบด้วยหลายโครงการ (เฟรมเวิร์ก) หนึ่งอันสำหรับแต่ละฟีเจอร์หลักและเฟรมเวิร์กทั่วไปที่มีทุกสิ่งที่ฉันจำเป็นต้องเข้าถึงในฟีเจอร์หลายอย่างของฉัน ฉันใช้ Swift Package Manager ของ Xcode 11 เพื่อเพิ่มการอ้างอิง กรอบงานทั่วไปประกอบด้วยการพึ่งพา RxSwift ซึ่งฉันใช้ตลอดทั้งโครงการ ฉันประสบปัญหาเมื่อฉันพยายามใช้ RxTest ในเฟรมเวิร์กคุณลักษณะใด ๆ ของฉัน ถ้าฉันเพิ่ม RxTest ผ่าน SPM ไปยังเป้าหมายการทดสอบโดยตรงและรันการทดสอบฉันจะได้รับ ล้มเหลวในการแยกสถานะ superclass ของ 'ชื่อคลาส' จากชื่อ mangled 'ชื่อคลาสอื่น' และอีกมากมาย คลาส 'ชื่อคลาส' ถูกนำไปใช้ในทั้ง 'กรอบเส้นทางทั่วไป' และ 'เส้นทางทดสอบเป้าหมาย' ที่คลาสเหล่านี้ทั้งหมดเกี่ยวข้อง Rx ข้อผิดพลาด 'ล้มเหลวในการปลดล็อก' เกิดข้อผิดพลาดในการทดสอบและจะเกิดขึ้นเมื่อฉันพยายามเริ่มต้นคลาส RxTest เท่านั้น ถ้าฉันเพิ่ม RxTest ให้กับเฟรมเวิร์กทั่วไปการทดสอบจะทำงานได้ดี แต่เมื่อฉันรันแอพฉันจะได้รับ dyld: …

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
[iOS 13]: ข้อยกเว้นร้ายแรง: NSInvalidArgumentException ไม่สามารถเพิ่มตัวเองเป็นมุมมองย่อย ([NSCache init])
ฉันเห็นปัญหา / คำถามที่คล้ายกันใน Stack Overflow แต่ไม่ได้ช่วยอะไร ฉันสร้างแอพด้วย Xcode 11 และ iOS 13 SDK ปัญหาคือฉันได้รับข้อขัดข้องทั้งหมดใน iOS 13+ เท่านั้นแม้ว่าแอปของฉันรองรับ iOS 10+ และมีผู้ใช้ประมาณ ~ 50% iOS 12 นอกจากนี้ฉันไม่สามารถดีบักหรือทำซ้ำได้ จากข้อมูลนี้ฉันสรุปปัญหานี้ต้องเฉพาะกับ iOS 13 เมื่อเร็ว ๆ นี้มีใครเคยเจอปัญหาเดียวกันบ้างไหม สาเหตุที่เป็นไปได้วิธีแก้ปัญหา? นี่คือการติดตามสแต็กจาก Crashlytics: Fatal Exception: NSInvalidArgumentException 0 CoreFoundation 0x1c25e1c30 __exceptionPreprocess 1 libobjc.A.dylib 0x1c22fc0c8 objc_exception_throw 2 CoreFoundation 0x1c24d13ac -[NSCache init] …
9 ios  xcode  exception 

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 …

2
ฉันจะตั้งค่าตัวเลือกเมนู "ช่วยเหลือ" สำหรับแอพ iPad ที่ถูกย้ายไปยัง Mac โดยใช้ Mac Catalyst ได้อย่างไร
ตามค่าเริ่มต้น Mac Catalyst จะสร้างเมนูชื่อ "วิธีใช้" ที่ควรรวมถึงความช่วยเหลือสำหรับแอปพลิเคชัน อย่างไรก็ตามฉันไม่พบเอกสารเกี่ยวกับวิธีใช้วิธีใช้ สำหรับแอป Mac มาตรฐานคุณสามารถใช้หนังสือช่วยเหลือ อย่างไรก็ตามไม่มีการกล่าวถึงวิธีการใช้หนังสือช่วยเหลือกับ Mac Catalyst ฉันพยายามเพิ่ม HelpBookDirectoryName ไปที่ info.plist แต่ไม่ได้ผล มีวิธีทำให้หนังสือช่วยทำงานกับ Mac Catalyst หรือไม่?

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.