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

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


24
เป็นไปได้หรือไม่ที่จะยกเลิกโหมดมืดบน iOS 13?
แอพของฉันส่วนใหญ่ประกอบด้วยมุมมองทางเว็บเพื่อให้ฟังก์ชันการทำงานยังไม่พร้อมใช้งานผ่านการใช้งานดั้งเดิม ทีมงานเว็บไม่มีแผนที่จะใช้ธีมสีเข้มสำหรับเว็บไซต์ ดังนั้นแอพของฉันจะดูเล็กน้อยครึ่ง / ครึ่งพร้อมการรองรับ Dark Mode บน iOS 13 เป็นไปได้หรือไม่ที่จะยกเลิกการรองรับ Dark Mode แอพของเราจะแสดงโหมดแสงให้ตรงกับธีมของเว็บไซต์
297 ios  ios13  ios-darkmode 

6
สร้าง UUID บน iOS จาก Swift
ในแอป iOS Swift ของฉันฉันต้องการสร้างสตริงUUID ( GUID ) แบบสุ่มเพื่อใช้เป็นคีย์ตารางและข้อมูลโค้ดนี้ดูเหมือนว่าจะทำงาน: let uuid = CFUUIDCreateString(nil, CFUUIDCreate(nil)) ปลอดภัยไหม หรืออาจจะมีวิธีที่ดีกว่า (แนะนำ)?

30
-didSelectRowAtIndexPath: ไม่ถูกเรียก
ฉันกำลังเขียนแอพ iOS ด้วยมุมมองตารางภายในมุมมองแท็บ ในตัวฉันUITableViewControllerฉันนำไปใช้-tableView:didSelectRowAtIndexPath:แต่เมื่อฉันเลือกแถวที่รันไทม์วิธีการจะไม่ถูกเรียก มุมมองตารางกำลังถูกบรรจุแม้ว่าดังนั้นฉันรู้ว่าวิธีการ tableView อื่น ๆ ในตัวควบคุมของฉันจะถูกเรียก ใครบ้างมีความคิดใด ๆ ที่ฉันอาจทำให้ผิดเพื่อให้สิ่งนี้เกิดขึ้นได้?

16
Swift - เข้ารหัส URL
ถ้าฉันเข้ารหัสสตริงเช่นนี้ var escapedString = originalString.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding) /มันไม่ได้หลบหนีทับ ฉันค้นหาและพบรหัส C วัตถุประสงค์นี้: NSString *encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes( NULL, (CFStringRef)unencodedString, NULL, (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8 ); มีวิธีที่ง่ายกว่าในการเข้ารหัส URL และถ้าไม่ฉันจะเขียนมันใน Swift ได้อย่างไร
295 ios  swift  urlencode 

7
เหตุใดฉันจึงได้รับคำเตือนของคอนโซล: [กระบวนการ] kill () ส่งคืนข้อผิดพลาดที่ไม่คาดคิด 1 เมื่อฉันโหลด WKWebView ใน iOS13.2
ตั้งแต่ฉันติดตั้งiOS 13.2 เบต้าฉันได้รับข้อความแสดงข้อผิดพลาดคอนโซล debug มันเกิดขึ้นทุกครั้งที่ฉันโหลด ViewController ด้วยวัตถุ WKWebView ในกระดานเรื่องราว จากนั้นข้อความต่อไปนี้จะแสดงอย่างต่อเนื่องในขณะที่มองเห็นมุมมองเว็บ ... 2019-10-10 12:10:47.867830+0200 (...) [Process] kill() returned unexpected error 1 2019-10-10 12:10:47.908698+0200 (...) [Process] kill() returned unexpected error 1 2019-10-10 12:10:47.908814+0200 (...) [Process] kill() returned unexpected error 1 2019-10-10 12:10:47.934169+0200 (...) [Process] kill() returned unexpected error 1 2019-10-10 12:10:47.947668+0200 (...) …

15
Color Tint UIButton Image
ฉันสังเกตเห็นว่าเมื่อฉันวางสีขาวหรือสีดำUIImageลงในUISegmentedControlหน้ากากสีมันโดยอัตโนมัติเพื่อให้ตรงกับสีของตัวควบคุมแบ่งส่วน ฉันคิดว่ามันเจ๋งจริง ๆ และสงสัยว่าฉันจะทำที่อื่นได้หรือไม่ ตัวอย่างเช่นฉันมีพวงของปุ่มที่มีรูปร่างเหมือนกัน แต่มีสีที่แตกต่างกัน แทนที่จะสร้าง PNG สำหรับแต่ละปุ่มฉันสามารถใช้การปิดบังสีนี้เพื่อใช้ภาพเดียวกันสำหรับทุกคนได้หรือไม่จากนั้นตั้งค่าสีอ่อนหรือบางสิ่งเพื่อเปลี่ยนสีจริงของพวกเขา

8
วิธีซิงค์ข้อมูล iPhone หลักกับเว็บเซิร์ฟเวอร์แล้วส่งไปยังอุปกรณ์อื่น [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันทำงานกับวิธีการซิงค์ข้อมูลหลักที่จัดเก็บในแอปพลิเคชัน iPhone ระหว่างอุปกรณ์หลายชนิดเช่น iPad หรือ Mac เฟรมเวิร์กการซิงค์มีไม่มาก (ถ้ามี) สำหรับใช้กับ Core Data บน iOS อย่างไรก็ตามฉันได้คิดถึงแนวคิดต่อไปนี้: ทำการเปลี่ยนแปลงกับที่เก็บข้อมูลหลักโลคัลและการเปลี่ยนแปลงถูกบันทึก (a) หากอุปกรณ์ออนไลน์นั้นจะพยายามส่งเซ็ตการแก้ไขไปยังเซิร์ฟเวอร์รวมถึง ID อุปกรณ์ของอุปกรณ์ที่ส่งเซ็ตการแก้ไขนั้น (b) หากเซ็ตการแก้ไขไม่ถึงเซิร์ฟเวอร์หรือหากอุปกรณ์ไม่ได้ออนไลน์แอพจะเพิ่มการเปลี่ยนแปลงที่กำหนดไว้ในคิวเพื่อส่งเมื่อมันมาออนไลน์ เซิร์ฟเวอร์ซึ่งนั่งอยู่ในคลาวด์ผสานการเปลี่ยนแปลงเฉพาะที่ได้รับกับฐานข้อมูลหลัก หลังจากชุดการเปลี่ยนแปลง (หรือชุดของคิวการเปลี่ยนแปลง) ถูกผสานบนเซิร์ฟเวอร์คลาวด์เซิร์ฟเวอร์จะผลักดันชุดการเปลี่ยนแปลงเหล่านั้นทั้งหมดไปยังอุปกรณ์อื่นที่ลงทะเบียนกับเซิร์ฟเวอร์โดยใช้ระบบการสำรวจบางประเภท (ฉันคิดว่าจะใช้บริการ Push ของ Apple แต่เห็นได้ชัดว่าตามความคิดเห็นนี้ไม่ใช่ระบบที่ใช้การได้) มีอะไรแฟนซีที่ฉันต้องคิดเกี่ยวกับ? ผมมองที่กรอบ REST เช่นObjectiveResource , แกนทรัพยากรและRestfulCoreData แน่นอนว่าทั้งหมดนี้ทำงานร่วมกับ Ruby on Rails ซึ่งฉันไม่ได้ผูกติดอยู่ แต่เป็นจุดเริ่มต้น …

23
คุณโหลด UITableViewCells ที่กำหนดเองจากไฟล์ Xib ได้อย่างไร
คำถามนั้นง่าย: คุณจะโหลด custom UITableViewCellจากไฟล์ Xib ได้อย่างไร การทำเช่นนั้นช่วยให้คุณใช้ตัวสร้างส่วนต่อประสานเพื่อออกแบบเซลล์ของคุณ เห็นได้ชัดว่าคำตอบนั้นไม่ง่ายเนื่องจากปัญหาการจัดการหน่วยความจำ เธรดนี้กล่าวถึงปัญหาและแนะนำวิธีแก้ไข แต่เป็นการนำเสนอ NDA ล่วงหน้าและไม่มีรหัส นี่คือหัวข้อยาวที่กล่าวถึงปัญหาโดยไม่ต้องให้คำตอบที่ชัดเจน นี่คือรหัสที่ฉันใช้: static NSString *CellIdentifier = @"MyCellIdentifier"; MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil]; cell = (MyCell *)[nib objectAtIndex:0]; } ในการใช้รหัสนี้ให้สร้าง MyCell.m / .h ซึ่งเป็นคลาสย่อยใหม่UITableViewCellและเพิ่มIBOutletsสำหรับส่วนประกอบที่คุณต้องการ จากนั้นสร้างไฟล์ …

13
ฉันสามารถลบเนื้อหาของโฟลเดอร์ข้อมูล Xcode Derived ได้อย่างปลอดภัยหรือไม่
ฉันใช้พื้นที่ดิสก์เหลือน้อยและตรวจสอบผ่านยูทิลิตี้ของบุคคลที่สามซึ่งเป็นสิ่งที่ไดเรกทอรี ~ / Library / Developer / Xcode / DerivedData ใช้พื้นที่ดิสก์ประมาณ 22GB ฉันค้นหา stackoverflow และพบโพสต์นี้ ฉันจะลบในไดเรกทอรี ~ / Library / Developer / Xcode / DerivedData ของฉันได้อย่างไร คำตอบที่ได้รับการยอมรับสำหรับคำถามนี้แนะนำว่าฉันไม่ควรแตะ / ลบโฟลเดอร์ออกจากไดเรกทอรีนี้ ดังนั้นสิ่งที่ฉันทำคือ พบโฟลเดอร์โครงการบิลด์ที่มีอยู่สำหรับแอพที่ฉันมีใน Appstore ลบโฟลเดอร์ออกจาก dir ที่ได้รับ เปิดตัว XCode 5 เปิดโครงการนั้น สร้างความสะอาด ทดสอบและเรียบเรียงมันบนเครื่องจำลอง ReArchived ทุกอย่างทำงานได้ ไม่มีอะไรเสียหาย นอกจากว่าฉันพลาดบางสิ่งในคำตอบที่โพสต์ฉันต้องการตรวจสอบให้แน่ใจโดยถามนักพัฒนาที่มีประสบการณ์ว่าถ้าฉันลบโฟลเดอร์ทั้งหมดจาก DerivedData มันจะไม่ทำร้ายฉันในการสร้างทดสอบและรวบรวมโครงการเหล่านั้น
293 ios  xcode 


7
สร้างไฟล์. pem ที่ใช้เพื่อตั้งค่า Apple Push Notifications
ฉันพยายามและพยายามสร้างไฟล์. pem ทุกครั้งที่สร้างใบรับรองจากบัญชีของลูกค้าและสร้างไฟล์. pem โดยใช้เทอร์มินัล แต่ก็ไม่มีประโยชน์ ใครสามารถให้กระบวนการทีละขั้นตอนได้บ้าง?

24
การสร้างปุ่มลูกศรซ้าย (เช่นสไตล์ "ย้อนกลับ" ของ UINavigationBar) บน UIToolbar
ฉันชอบที่จะสร้าง "กลับ" UIToolbarลูกศรซ้ายฝาปุ่มใน เท่าที่ฉันสามารถบอกได้วิธีเดียวที่จะได้รับหนึ่งในนั้นคือออกจากUINavigationControllerการตั้งค่าเริ่มต้นและใช้หนึ่งรายการสำหรับรายการแถบด้านซ้าย แต่ไม่มีวิธีที่ฉันสามารถค้นหาเพื่อสร้างเป็นUIBarButtonItemดังนั้นฉันไม่สามารถสร้างหนึ่งในมาตรฐานUIToolbarแม้ว่าพวกเขาจะคล้ายกันมากกับUINavigationBars ฉันสามารถสร้างมันด้วยภาพปุ่มด้วยตนเอง แต่ฉันไม่สามารถหาภาพต้นฉบับได้ทุกที่ พวกมันมีขอบอัลฟ่า - ช่องดังนั้นภาพหน้าจอและการตัดจะไม่ได้ผลลัพธ์ที่หลากหลายมากนัก มีแนวคิดใดที่นอกเหนือจากการสกรีนภาพสำหรับทุกขนาดและชุดสีที่ฉันตั้งใจจะใช้? ปรับปรุง: STOP UINavigationBarกรุณาหลบคำถามและบอกว่าฉันไม่ควรจะถามนี้และควรจะใช้ แอพของฉันคือ Instapaper Pro มันแสดงเฉพาะแถบเครื่องมือด้านล่าง (เพื่อประหยัดพื้นที่และเพิ่มพื้นที่เนื้อหาที่อ่านได้สูงสุด) และฉันต้องการวางปุ่มย้อนกลับรูปลูกศรซ้ายที่ด้านล่าง บอกฉันว่าฉันไม่ควรต้องทำสิ่งนี้ไม่ใช่คำตอบและแน่นอนไม่สมควรได้รับรางวัล

30
ได้รับสัญญาณ EXC_BAD_ACCESS
เมื่อปรับใช้แอปพลิเคชันไปยังอุปกรณ์โปรแกรมจะออกหลังจากไม่กี่รอบด้วยข้อผิดพลาดต่อไปนี้: Program received signal: "EXC_BAD_ACCESS". โปรแกรมทำงานได้โดยไม่มีปัญหาใด ๆ บน iPhone simulator มันจะทำการดีบั๊กและรันตราบใดที่ฉันทำตามคำแนะนำทีละรายการ ทันทีที่ฉันปล่อยให้มันทำงานอีกครั้งฉันจะชนEXC_BAD_ACCESSสัญญาณ ในกรณีนี้มันเป็นข้อผิดพลาดในรหัส accelerometer มันจะไม่ดำเนินการภายในเครื่องจำลองซึ่งเป็นสาเหตุที่ทำให้ไม่เกิดข้อผิดพลาดใด ๆ อย่างไรก็ตามมันจะดำเนินการปรับใช้ครั้งเดียวกับอุปกรณ์ คำตอบสำหรับคำถามนี้ส่วนใหญ่จะจัดการกับEXC_BAD_ACCESSข้อผิดพลาดทั่วไปดังนั้นฉันจะปล่อยให้สิ่งนี้เปิดเป็น catch-all สำหรับข้อผิดพลาด Bad Access ที่น่ากลัว EXC_BAD_ACCESSโดยทั่วไปจะถูกโยนลงเนื่องจากการเข้าถึงหน่วยความจำที่ผิดกฎหมาย คุณสามารถค้นหาข้อมูลเพิ่มเติมได้จากคำตอบด้านล่าง คุณเคยพบEXC_BAD_ACCESSสัญญาณมาแล้วและคุณรับมือกับมันอย่างไร
290 ios  cocoa-touch 

13
แนวทางปฏิบัติที่ดีที่สุดสำหรับหน้าจอเข้าสู่ระบบ Storyboard จัดการการล้างข้อมูลเมื่อออกจากระบบ
ฉันกำลังสร้างแอพ iOS โดยใช้สตอรี่บอร์ด ตัวควบคุมมุมมองรูทเป็นตัวควบคุมแถบแท็บ ฉันกำลังสร้างกระบวนการเข้าสู่ระบบ / ออกจากระบบและส่วนใหญ่ทำงานได้ดี แต่ฉันมีปัญหาเล็กน้อย ฉันจำเป็นต้องรู้วิธีที่ดีที่สุดในการตั้งค่าทั้งหมดนี้ ฉันต้องการทำสิ่งต่อไปนี้ให้สำเร็จ: แสดงหน้าจอเข้าสู่ระบบในครั้งแรกที่เปิดตัวแอพ เมื่อเข้าสู่ระบบให้ไปที่แท็บแรกของ Tab Bar Controller เมื่อใดก็ตามที่พวกเขาเปิดแอพหลังจากนั้นให้ตรวจสอบว่าพวกเขาเข้าสู่ระบบและข้ามตรงไปที่แท็บแรกของตัวควบคุมแถบแท็บราก เมื่อพวกเขาคลิกปุ่มออกจากระบบด้วยตนเองแสดงหน้าจอเข้าสู่ระบบและล้างข้อมูลทั้งหมดจากตัวควบคุมมุมมอง สิ่งที่ฉันได้ทำไปแล้วคือการตั้งค่าตัวควบคุมมุมมองรูทเป็นตัวควบคุมแถบของแท็บและสร้างส่วนต่อขยายที่กำหนดเองให้กับตัวควบคุมมุมมองล็อกอินของฉัน ในคลาส Tab Bar Controller ของฉันฉันตรวจสอบว่าพวกเขาเข้าสู่ระบบภายในviewDidAppearวิธีการและดำเนินการต่อ:[self performSegueWithIdentifier:@"pushLogin" sender:self]; ฉันยังตั้งค่าการแจ้งเตือนเมื่อต้องมีการดำเนินการล็อกเอาต์: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(logoutAccount) name:@"logoutAccount" object:nil]; เมื่อออกจากระบบฉันล้างข้อมูลรับรองจาก Keychain เรียกใช้[self setSelectedIndex:0]และดำเนินการต่อเพื่อแสดงตัวควบคุมมุมมองการเข้าสู่ระบบอีกครั้ง ทั้งหมดนี้ใช้งานได้ดี แต่ฉันสงสัยว่า: ตรรกะนี้ควรอยู่ใน AppDelegate หรือไม่ ฉันยังมีสองประเด็น: ครั้งแรกที่พวกเขาเปิดแอปตัวควบคุมแถบของแท็บจะแสดงสั้น ๆ ก่อนที่จะดำเนินการต่อ ฉันได้ลองย้ายรหัสไปแล้วviewWillAppearแต่การทำต่อไม่ได้ผล เมื่อพวกเขาออกจากระบบข้อมูลทั้งหมดจะยังคงอยู่ในตัวควบคุมมุมมองทั้งหมด หากพวกเขาลงชื่อเข้าใช้บัญชีใหม่ข้อมูลบัญชีเก่าจะยังคงปรากฏจนกว่าพวกเขาจะรีเฟรช ฉันต้องการวิธีล้างข้อมูลนี้อย่างง่ายดายเมื่อออกจากระบบ ฉันเปิดให้ทำงานใหม่ได้ …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.