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

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

12
iOS9 ได้รับข้อผิดพลาด“ เกิดข้อผิดพลาด SSL และไม่สามารถทำการเชื่อมต่อที่ปลอดภัยกับเซิร์ฟเวอร์ได้”
เนื่องจากฉันอัปเกรดโครงการที่มีอยู่ด้วย iOS 9 ฉันได้รับข้อผิดพลาดเรื่อย ๆ : เกิดข้อผิดพลาด SSL และไม่สามารถทำการเชื่อมต่อที่ปลอดภัยกับเซิร์ฟเวอร์ได้

12
CredStore ดำเนินการค้นหาข้อผิดพลาด
ฉันประสบปัญหาขณะทำการเรียก API ไปยังแบ็กเอนด์แอปของฉันตอนนี้ทุกการเชื่อมต่อจะแจ้งด้วย CredStore - performQuery - Error copying matching creds. Error=-25300, query={ atyp = http; class = inet; "m_Limit" = "m_LimitAll"; ptcl = http; "r_Attributes" = 1; srvr = "myappsurl.com"; sync = syna; } ฉันหลงทางเล็กน้อยเพราะฉันไม่แน่ใจว่าอะไรเป็นสาเหตุของสิ่งนี้หรือสิ่งที่ CredStore ทำ CredStore ทำหน้าที่อะไรใน iOS
109 ios  xcode9 

3
พฤติกรรมของ API ตำแหน่งที่เปลี่ยนแปลงอย่างมีนัยสำคัญเมื่อยุติ / ระงับ?
นี่คือส่วนจากเอกสารCLLocationManager ที่อธิบายลักษณะการทำงานของแอปด้วยstartMonitoringSignificantLocationChanges : หากคุณเริ่มบริการนี้และแอปพลิเคชันของคุณถูกยกเลิกในเวลาต่อมาระบบจะเปิดแอปพลิเคชันอีกครั้งโดยอัตโนมัติในพื้นหลังหากมีเหตุการณ์ใหม่เข้ามา ในกรณีเช่นนี้พจนานุกรมตัวเลือกจะส่งผ่านไปยังแอปพลิเคชัน: didFinishLaunchingWithOptions: วิธีการของตัวแทนแอปพลิเคชันของคุณมีคีย์ UIApplicationLaunchOptionsLocationKey เพื่อระบุว่าแอปพลิเคชันของคุณถูกเปิดใช้เนื่องจากเหตุการณ์ที่ตั้ง เมื่อเปิดใหม่คุณยังต้องกำหนดค่าออบเจ็กต์ตัวจัดการสถานที่และเรียกใช้เมธอดนี้เพื่อรับเหตุการณ์ตำแหน่งต่อไป เมื่อคุณเริ่มบริการตำแหน่งใหม่เหตุการณ์ปัจจุบันจะถูกส่งไปยังผู้รับมอบสิทธิ์ของคุณทันที นอกจากนี้คุณสมบัติตำแหน่งของออบเจ็กต์ตัวจัดการสถานที่ของคุณจะถูกเติมด้วยออบเจ็กต์ตำแหน่งล่าสุดก่อนที่คุณจะเริ่มบริการตำแหน่ง ดังนั้นความเข้าใจของผมคือว่าถ้ายุติแอปของคุณ (และผมถือว่าถ้าคุณไม่โทรstopMonitoringSignificantLocationChangesจากapplicationWillTerminate ) คุณจะได้รับการตื่นขึ้นมาด้วยUIApplicationLaunchOptionsLocationKeyพารามิเตอร์การประยุกต์ใช้: didFinishLaunchingWithOptions เมื่อมาถึงจุดที่คุณสร้างของคุณCLLocationManagerโทรstartMonitoringSignificantLocationChangesและทำการประมวลผลที่ตั้งของพื้นหลังของคุณสำหรับระยะเวลาที่ จำกัด ดังนั้นฉันสบายดีกับบิตนี้ ย่อหน้าก่อนหน้านี้พูดถึงสิ่งที่เกิดขึ้นเมื่อแอปถูกยุติเท่านั้นไม่ได้แนะนำสิ่งที่คุณทำเมื่อแอปพลิเคชันถูกระงับ เอกสารสำหรับdidFinishLaunchingWithOptionsกล่าวว่า: แอปพลิเคชันติดตามการอัปเดตตำแหน่งในพื้นหลังถูกล้างและตอนนี้ได้เปิดใช้งานใหม่แล้ว ในกรณีนี้พจนานุกรมจะมีคีย์ที่ระบุว่าแอปพลิเคชันถูกเปิดใช้งานอีกครั้งเนื่องจากเหตุการณ์ตำแหน่งใหม่ แนะนำว่าคุณจะรับสายนี้ก็ต่อเมื่อแอปของคุณเปิดตัว (เนื่องจากมีการเปลี่ยนสถานที่) หลังจากที่คุณถูกยกเลิก อย่างไรก็ตามย่อหน้าเกี่ยวกับบริการการเปลี่ยนแปลงที่สำคัญในคู่มือการเขียนโปรแกรมการรับรู้ตำแหน่งมีสิ่งต่อไปนี้ที่จะกล่าว: หากคุณปล่อยให้บริการนี้ทำงานและแอปพลิเคชันของคุณถูกระงับหรือยุติในภายหลังบริการจะปลุกแอปพลิเคชันของคุณโดยอัตโนมัติเมื่อมีข้อมูลตำแหน่งใหม่มาถึง เมื่อถึงเวลาปลุกแอปพลิเคชันของคุณจะถูกวางไว้ในพื้นหลังและให้เวลาเล็กน้อยในการประมวลผลข้อมูลตำแหน่ง เนื่องจากแอปพลิเคชันของคุณทำงานอยู่เบื้องหลังจึงควรทำงานน้อยที่สุดและหลีกเลี่ยงงานใด ๆ (เช่นการสืบค้นเครือข่าย) ที่อาจป้องกันไม่ให้กลับมาก่อนเวลาที่จัดสรรไว้จะหมดลง หากไม่เป็นเช่นนั้นใบสมัครของคุณอาจถูกยกเลิก สิ่งนี้แสดงว่าคุณถูกปลุกด้วยข้อมูลตำแหน่งหากแอปของคุณถูกระงับ แต่ไม่ได้ระบุว่าคุณตื่นขึ้นมาอย่างไร: ที่ไม่UIApplicationDelegateได้รับการติดต่อกลับบอกฉันว่าฉันกำลังกลับมาจากสถานะที่ถูกระงับในสภาพพื้นหลัง? ผู้จัดการสถานที่ (ซึ่งถูกทำให้แห้งเมื่อแอปถูกระงับ) เริ่มรับlocationManager: didUpdateToLocation: fromLocation callbacks หรือไม่ ฉันต้องติดตั้งโค้ดในข้อความdidUpdateToLocationของฉันซึ่งจะตรวจสอบสถานะแอปพลิเคชันและทำการประมวลผลน้อยที่สุดหากอยู่ในโหมดพื้นหลังหรือไม่ ในขั้นตอนการเขียนสิ่งนี้ฉันคิดว่าฉันอาจจะเพิ่งตอบคำถามของตัวเอง แต่มันจะดีมากถ้ามีคนที่มีความรู้มากกว่านี้มายืนยันความเข้าใจของฉัน

7
วิธีใดเป็นวิธีที่ดีที่สุดในการเพิ่มเงาลงใน UIView ของฉัน
ฉันกำลังพยายามเพิ่มเงาตกในมุมมองที่ซ้อนทับกันมุมมองจะยุบลงทำให้สามารถมองเห็นเนื้อหาในมุมมองอื่นได้ในหลอดเลือดดำนี้ฉันต้องการview.clipsToBoundsเปิดต่อเพื่อที่เมื่อมุมมองยุบเนื้อหาของพวกเขาจะถูกตัดออก ดูเหมือนว่าจะทำให้ฉันเพิ่มเงาหล่นลงในเลเยอร์ได้ยากเพราะเมื่อฉันเปิดclipsToBoundsเงาก็จะถูกตัดออกไปด้วย ฉันพยายามปรับแต่งview.frameและview.boundsเพื่อเพิ่มเงาหล่นลงในเฟรม แต่ปล่อยให้ขอบเขตมีขนาดใหญ่พอที่จะล้อมรอบได้ แต่ฉันไม่มีโชคกับเรื่องนี้ นี่คือรหัสที่ฉันใช้เพื่อเพิ่ม Shadow (ใช้ได้กับclipsToBoundsOFF เท่านั้นตามที่แสดง) view.clipsToBounds = NO; view.layer.shadowColor = [[UIColor blackColor] CGColor]; view.layer.shadowOffset = CGSizeMake(0,5); view.layer.shadowOpacity = 0.5; นี่คือภาพหน้าจอของเงาที่ถูกนำไปใช้กับเลเยอร์สีเทาที่สว่างที่สุดด้านบน หวังว่านี่จะช่วยให้ทราบว่าเนื้อหาของฉันจะทับซ้อนกันอย่างไรหากclipsToBoundsปิดอยู่ ฉันจะเพิ่มเงาให้กับUIViewเนื้อหาของฉันและตัดเนื้อหาของฉันได้อย่างไร แก้ไข: แค่อยากจะเพิ่มว่าฉันได้เล่นกับการใช้ภาพพื้นหลังที่มีเงาซึ่งทำงานได้ดี แต่ฉันก็ยังอยากรู้วิธีแก้ปัญหาที่ดีที่สุดสำหรับสิ่งนี้


15
วิธีซ่อนส่วนหัวส่วนแรกใน UITableView (สไตล์ที่จัดกลุ่ม)
เนื่องจากการออกแบบมุมมองตารางโดยใช้รูปแบบการจัดกลุ่มเปลี่ยนไปอย่างมากใน iOS 7 ฉันจึงต้องการซ่อน (หรือลบ) ส่วนหัวส่วนแรก จนถึงตอนนี้ฉันยังไม่ประสบความสำเร็จ ค่อนข้างง่ายรหัสของฉันมีลักษณะดังนี้: - (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { if (section == 0) return 0.0f; return 32.0f; } - (UIView*) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { if (section == 0) { UIView* view = [[UIView alloc] initWithFrame: CGRectMake(0.0f, 0.0f, 640.0f, 0.0f)]; return view; } return nil; } …
108 ios  uitableview  ios7 

14
วิธีทำให้ปุ่มย้อนกลับบน iPhone ทำให้แป้นพิมพ์หายไป
ฉันมีสองUITextFieldsชื่อ (เช่นชื่อผู้ใช้และรหัสผ่าน) แต่ฉันไม่สามารถกำจัดแป้นพิมพ์ได้เมื่อกดปุ่มย้อนกลับบนแป้นพิมพ์ ฉันจะทำเช่นนี้ได้อย่างไร?

5
ฉันจะรับความกว้างและความสูงปัจจุบันของมุมมองได้อย่างไรเมื่อใช้ข้อ จำกัด การจัดวางอัตโนมัติ
ฉันไม่ได้พูดถึงคุณสมบัติของเฟรมเพราะจากนั้นคุณจะได้ขนาดของมุมมองใน xib เท่านั้น ฉันกำลังพูดถึงเมื่อมุมมองถูกปรับขนาดเนื่องจากข้อ จำกัด (อาจจะหลังการหมุนหรือเพื่อตอบสนองต่อเหตุการณ์) มีวิธีรับความกว้างและความสูงปัจจุบันหรือไม่? ฉันลองทำซ้ำตามข้อ จำกัด เพื่อค้นหาข้อ จำกัด ด้านความกว้างและความสูง แต่ก็ไม่สะอาดและล้มเหลวเมื่อมีข้อ จำกัด ภายใน (เนื่องจากฉันไม่สามารถแยกความแตกต่างระหว่างสองข้อนี้ได้) นอกจากนี้จะใช้งานได้ก็ต่อเมื่อมีข้อ จำกัด ด้านความกว้างและความสูงซึ่งจะไม่ได้ผลหากต้องพึ่งพาข้อ จำกัด อื่น ๆ ในการปรับขนาด ทำไมเรื่องนี้ถึงยากสำหรับฉัน ARG!
108 ios  autolayout 

6
AVAudioPlayer พ่นเบรกพอยต์ในโหมดดีบัก
ทุกครั้งที่ฉันโหลดแอพมันจะหยุดราวกับว่าฉันตั้งเบรกพอยต์ไว้ในบรรทัดนี้: self.audioPlayer = [[[AVAudioPlayer alloc] initWithData:[dataPersister loadData:self.fileName] error:&outError] autorelease]; ไม่มีจุดพักด้านบนหรือที่ใด ๆ ใกล้กับเส้นนี้ จะเกิดขึ้นเฉพาะเมื่อฉันเรียกใช้แอปในโหมดดีบักและไม่มีอะไรขัดข้องหลังจากเบรกพอยต์ แอปทำงานเหมือนไม่มีอะไรเกิดขึ้นเมื่อฉันคลิก "ดำเนินการโปรแกรมต่อ" นี่คือเมธอด loadData ซึ่งเรียกด้วยinitWithData: -(NSData*)loadData:(NSString*)fileName { NSString *dataPath = [self.path stringByAppendingPathComponent:fileName]; dataPath = [dataPath stringByStandardizingPath]; NSData *data = [[[NSData alloc] initWithContentsOfFile:dataPath]autorelease ]; return data; } ดูเหมือนว่าฟังก์ชัน loadData จะทำงานได้ดี ไฟล์ mp3 ที่ร้องขอจะถูกโหลดและเล่นโดยไม่มีปัญหาใด ๆ หลังจากเบรกพอยต์ คุณรู้ไหมว่าฉันทำอะไรผิด? แก้ไข: ฉันวิ่งถอยหลังเมื่อหยุดที่จุดพัก …

18
รับการแจ้งเตือนเมื่อ UITableView ขอข้อมูลเสร็จแล้ว?
มีวิธีใดบ้างที่จะทราบได้ว่าเมื่อการUITableViewขอข้อมูลจากแหล่งข้อมูลเสร็จสิ้นแล้วหรือไม่? ไม่มีการใช้viewDidLoad/ viewWillAppear/ viewDidAppearmethod ของตัวควบคุมมุมมองที่เกี่ยวข้อง ( UITableViewController) ที่นี่เนื่องจากทั้งหมดเริ่มทำงานเร็วเกินไป ไม่มีข้อใดเลย (อย่างที่เข้าใจได้ทั้งหมด) รับประกันได้ว่าการสืบค้นไปยังแหล่งข้อมูลเสร็จสิ้นในขณะนี้ (เช่นจนกว่าจะเลื่อนมุมมอง) วิธีแก้ปัญหาอย่างหนึ่งที่ฉันพบคือการโทรreloadDataเข้าviewDidAppearเนื่องจากเมื่อreloadDataส่งคืนมุมมองตารางจะได้รับการรับประกันว่าจะค้นหาแหล่งข้อมูลเสร็จสิ้นแล้วเท่าที่จำเป็นในขณะนี้ อย่างไรก็ตามสิ่งนี้ดูเหมือนจะค่อนข้างน่ารังเกียจเนื่องจากฉันคิดว่ามันทำให้แหล่งข้อมูลถูกขอข้อมูลเดียวกันสองครั้ง (หนึ่งครั้งโดยอัตโนมัติและหนึ่งครั้งเนื่องจากการreloadDataโทร) เมื่อโหลดครั้งแรก เหตุผลที่ฉันต้องการทำเลยก็คือฉันต้องการรักษาตำแหน่งการเลื่อนของUITableView- แต่ลงไปที่ระดับพิกเซลไม่ใช่แค่แถวที่ใกล้ที่สุด เมื่อคืนเลื่อนตำแหน่ง (ใช้scrollRectToVisible:animated:) ผมต้องดูตารางที่จะมีข้อมูลที่เพียงพอในนั้นหรืออื่น ๆscrollRectToVisible:animated:เรียกวิธีการไม่ทำอะไรเลย (ซึ่งเป็นสิ่งที่เกิดขึ้นถ้าคุณวางสายของตัวเองในการใด ๆviewDidLoad, viewWillAppearหรือviewDidAppear)
108 ios  iphone  uitableview 

2
View Controller Containment ทำงานอย่างไรใน iOS 5
ในงาน WWDC 2011 เซสชัน 102, Apple เปิดดูควบคุมกักกันซึ่งเป็นความสามารถในการสร้างมุมมองที่กำหนดเองภาชนะควบคุมคล้ายคลึงกับUITabBarController, UINavigationControllerและไม่ชอบ ฉันดูตัวอย่างหลายครั้ง มีวิธีการที่ยุ่งยากที่เกี่ยวข้องกับรูปแบบนี้ แต่ก็ยากเล็กน้อยที่จะเข้าใจอย่างแน่ชัด ฉันจะโพสต์สิ่งที่ฉันคิดไว้ที่นี่และดูว่าชุมชนจะยืนยันหรือไม่ยืนยันความสงสัยของฉัน สถานการณ์ที่ 1: การย้ายจากผู้ปกครองไปยังตัวควบคุมมุมมองหลักใหม่ [vc willMoveToParentViewController:self]; [self addChildViewController:vc]; [self.view addSubview:vc.view]; // or something like this. [vc didMoveToParentViewController:self]; สองบรรทัดแรกต้องเกิดขึ้นตามลำดับที่กำหนดหรือสามารถย้อนกลับได้หรือไม่? สถานการณ์ที่ 2: การย้ายจากตัวควบคุมมุมมองหลักไปยังไม่มีตัวควบคุมมุมมองหลัก [vc willMoveToParentViewController:nil]; [vc.view removeFromSuperview]; [vc removeFromParentViewController]; ยังจำเป็นต้องโทร[vc didMoveToParentViewController:nil]? ตัวอย่างในเซสชัน 102 ไม่ได้ทำสิ่งนี้ในสถานการณ์นี้ แต่ฉันไม่รู้ว่านั่นเป็นการละเว้นหรือไม่ สถานการณ์ที่ 3: การย้ายจากตัวควบคุมมุมมองหลักไปยังอีกตัวหนึ่ง สิ่งนี้อาจเกิดขึ้นในลักษณะต่อไปนี้เนื่องจากตรรกะในตัวควบคุมมุมมองหลักแต่ละตัวจะถูกห่อหุ้ม // In …

10
UIAlertView เลิกใช้งาน IOS 9 เป็นครั้งแรก
ฉันลองใช้ UIAlertController หลายวิธีแทน UIAlertView ฉันลองหลายวิธีแล้ว แต่ไม่สามารถทำให้การแจ้งเตือนทำงานได้ นี่คือรหัสของฉันที่ใช้งานได้ดีใน IOS 8 และ IOS 9 แต่แสดงขึ้นพร้อมกับแฟล็กที่เลิกใช้แล้ว ฉันลองทำตามคำแนะนำที่สวยงามด้านล่าง แต่ไม่สามารถใช้งานได้ในบริบทนี้ ฉันต้องการส่งแอปของฉันและนี่คือสิ่งสุดท้ายที่จะกล่าวถึง ขอบคุณสำหรับคำแนะนำเพิ่มเติม ฉันเป็นมือใหม่ #pragma mark - BUTTONS ================================ - (IBAction)showModesAction:(id)sender { NSLog(@"iapMade: %d", iapMade3); // IAP MADE ! =========================================== if (!iapMade3) { //start game here gamePlaysCount++; [[NSUserDefaults standardUserDefaults]setInteger:gamePlaysCount forKey:@"gamePlaysCount"]; NSLog(@"playsCount: %ld", (long)gamePlaysCount); if (gamePlaysCount >= …

11
Swift: ลบองค์ประกอบอาร์เรย์ทั้งหมด
ฉันกำลังพยายามลบองค์ประกอบอาร์เรย์ทั้งหมดด้วย for loop ดังนี้: for index 1...myArray.count { myArray.removeAtIndex(index) } แต่ไม่ได้ผลฉันได้รับข้อผิดพลาดนี้ก่อนทำการ bulding: คาดว่า ';' ในคำสั่ง 'for'
108 ios  swift 

8
จะบีบออกใน iOS Simulator ได้อย่างไรเมื่อมุมมองแผนที่เป็นเพียงส่วนหนึ่งของหน้าจอ?
ฉันมีมุมมองบน iPad ที่ฉันกำลังเพิ่ม MKMapView ซึ่งบอกว่ามีความสูงเพียงครึ่งเดียวของเต็มหน้าจอ อย่างไรก็ตามเมื่อฉันพยายามบีบออก iOS Simulator มันไม่ได้ผลเนื่องจาก to nubs เติมเต็มมุมมอง iPad ทั้งหมดบนเครื่องจำลอง ด้วยมุมมองแผนที่ครึ่งหน้าจอและฉันกดปุ่ม "ตัวเลือก" บนแป้นพิมพ์ฉันไม่สามารถจับแผนที่เพื่อกางออกได้ ใครรู้วิธีจัดการเรื่องนี้
108 ios  mkmapview  simulator 

8
ท่าทางกดแบบยาวบน UICollectionViewCell
ฉันสงสัยว่าจะเพิ่มเครื่องมือจดจำท่าทางการกดแบบยาวให้กับ UICollectionView (คลาสย่อยของ) ได้อย่างไร ฉันอ่านในเอกสารว่ามีการเพิ่มโดยค่าเริ่มต้น แต่ฉันคิดไม่ออกว่าจะทำอย่างไร สิ่งที่ฉันต้องการทำคือ: กดที่เซลล์ค้างไว้ ( ฉันมีปฏิทินจาก github ) รับเซลล์ที่แตะแล้วทำสิ่งต่างๆกับมัน ฉันต้องการทราบว่าเซลล์ใดถูกบีบอัดมานาน ขออภัยสำหรับคำถามกว้าง ๆ นี้ แต่ฉันไม่พบสิ่งที่ดีกว่าทั้งใน Google หรือ SO

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