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

อย่าใช้แท็กนี้จนกว่าคุณจะระบุที่อยู่ iPhone ของ Apple และ / หรือ iPod touch โดยเฉพาะ สำหรับคำถามที่ไม่ได้ขึ้นอยู่กับฮาร์ดแวร์ให้ใช้แท็ก [iOS] แท็กที่ต้องพิจารณาเพิ่มเติมคือ [xcode] (แต่หากคำถามเกี่ยวกับ IDE เอง), [swift], [purpose-c] หรือ [cocoa-touch] (แต่ไม่ใช่ [cocoa]) โปรดงดเว้นคำถามเกี่ยวกับ iTunes App Store หรือเกี่ยวกับ iTunes Connect หากใช้ C # ให้แท็กด้วย [mono]


19
ปรับขนาด UIImage โดยรักษาอัตราส่วนและความกว้าง
ฉันเห็นในหลาย ๆ โพสต์เกี่ยวกับการปรับขนาดรูปภาพโดยรักษาอัตราส่วน ฟังก์ชันเหล่านี้ใช้จุดคงที่ (ความกว้างและความสูง) สำหรับ RECT ขณะปรับขนาด แต่ในโครงการของฉันฉันต้องปรับขนาดมุมมองตามความกว้างเพียงอย่างเดียวควรใช้ความสูงโดยอัตโนมัติตามอัตราส่วนภาพ ใครก็ได้ช่วยฉันทำสิ่งนี้ให้สำเร็จ

15
การปิดใช้งานภาพเคลื่อนไหวโดยนัยใน - [CALayer setNeedsDisplayInRect:]
ฉันมีเลเยอร์พร้อมรหัสการวาดที่ซับซ้อนในเมธอด -drawInContext: ฉันพยายามลดจำนวนภาพวาดที่ฉันต้องทำดังนั้นฉันจึงใช้ -setNeedsDisplayInRect: เพื่ออัปเดตเฉพาะส่วนที่เปลี่ยนแปลง มันใช้งานได้อย่างยอดเยี่ยม อย่างไรก็ตามเมื่อระบบกราฟิกอัปเดตเลเยอร์ของฉันมันก็เปลี่ยนจากภาพเก่าเป็นภาพใหม่โดยใช้ cross-fade ฉันต้องการให้สลับทันที ฉันได้ลองใช้ CATransaction เพื่อปิดการกระทำและตั้งเวลาเป็นศูนย์และไม่ทำงาน นี่คือรหัสที่ฉันใช้: [CATransaction begin]; [CATransaction setDisableActions: YES]; [self setNeedsDisplayInRect: rect]; [CATransaction commit]; มีวิธีอื่นใน CATransaction ที่ฉันควรใช้แทน (ฉันได้ลอง -setValue: forKey: with kCATransactionDisableActions, ผลลัพธ์เดียวกัน)

7
วิธีการหมุนเลิกใช้แล้วเทียบเท่ากับ 'didRotateFromInterfaceOrientation'?
ฉันพยายามที่จะใช้viewWillTransitionToSizeวิธีการใหม่ซึ่งได้รับการแนะนำใน iOS 8 (วิธีการหมุนอื่น ๆ ได้เลิกใช้แล้ว) ฉันต้องการที่จะรู้ว่าสิ่งที่เทียบเท่าdidRotateFromInterfaceOrientationคือตอนนี้เนื่องจากมีจำนวนของงานล้างที่เราจำเป็นต้องดำเนินการและฉันไม่เห็นบล็อกที่เราสามารถกำหนดให้UIViewControllerTransitionCoordinatorเพื่อที่จะถูกเรียกเมื่อ 'เปลี่ยน' เป็นใหม่ ขนาดเสร็จสิ้น ขอบคุณ
137 ios  iphone  objective-c  ios8 

8
ฉันจะรับ RootViewController จากคอนโทรลเลอร์ที่มีการพุชได้อย่างไร
ดังนั้นฉันดันดูควบคุมจาก RootViewController เช่น: [self.navigationController pushViewController: anotherViewController เคลื่อนไหว: YES]; แต่anotherViewControllerตอนนี้ฉันต้องการเข้าถึง RootViewController อีกครั้ง ฉันกำลังพยายาม // (ข้างใน anotherViewController ทันที) /// RootViewController * root = (RootViewController *) self.parentViewController; // ไม่ใช่ // ผิดพลาด RootViewController * root = (RootViewController *) [self.navigationController.viewControllers objectAtIndex: 0]; // ใช่ !! มันได้ผล ฉันไม่แน่ใจว่าทำไมจึงใช้งานได้และไม่แน่ใจว่าเป็นวิธีที่ดีที่สุด ใครบางคนสามารถแสดงความคิดเห็นเกี่ยวกับวิธีที่ดีกว่าในการรับ RootViewController จากคอนโทรลเลอร์ที่คุณส่งไปยัง navigationViewer ของ RootViewController และไม่ว่าวิธีที่ฉันทำนั้นเชื่อถือได้หรือไม่

14
ความลับของ OAuth ในแอปมือถือ
เมื่อใช้โปรโตคอล OAuth คุณต้องมีสตริงลับที่ได้รับจากบริการที่คุณต้องการมอบสิทธิ์ หากคุณกำลังทำสิ่งนี้ในเว็บแอปคุณสามารถเก็บความลับไว้ในฐานข้อมูลของคุณหรือในระบบไฟล์ได้ แต่วิธีใดที่ดีที่สุดในการจัดการกับแอปบนอุปกรณ์เคลื่อนที่ (หรือแอปเดสก์ท็อปสำหรับเรื่องนั้น) เห็นได้ชัดว่าการจัดเก็บสตริงในแอปนั้นไม่ดีเนื่องจากมีคนค้นพบได้ง่ายและใช้ในทางที่ผิด อีกวิธีหนึ่งคือการจัดเก็บไว้ในเซิร์ฟเวอร์ของคุณและให้แอปดึงข้อมูลมาใช้งานทุกครั้งอย่าเก็บไว้ในโทรศัพท์ เกือบจะแย่เพราะคุณต้องใส่ URL ในแอป ทางออกเดียวที่ใช้งานได้ที่ฉันสามารถทำได้คือการรับโทเค็นการเข้าถึงตามปกติก่อน (ควรใช้มุมมองเว็บภายในแอป) จากนั้นกำหนดเส้นทางการสื่อสารเพิ่มเติมทั้งหมดผ่านเซิร์ฟเวอร์ของเราซึ่งจะผนวกความลับไปยังข้อมูลคำขอและสื่อสาร กับผู้ให้บริการ จากนั้นอีกครั้งฉันเป็นเจ้าหน้าที่รักษาความปลอดภัยดังนั้นฉันจึงอยากรับฟังความคิดเห็นของผู้คนที่มีความรู้เกี่ยวกับเรื่องนี้ สำหรับฉันแล้วดูเหมือนว่าแอพส่วนใหญ่จะใช้ความยาวเหล่านี้เพื่อรับประกันความปลอดภัย (ตัวอย่างเช่น Facebook Connect ดูเหมือนว่าคุณใส่ความลับลงในสตริงในแอพของคุณ) อีกอย่าง: ฉันไม่เชื่อว่าความลับนั้นเกี่ยวข้องกับการขอโทเค็นการเข้าถึงในตอนแรกดังนั้นจึงสามารถทำได้โดยไม่ต้องเกี่ยวข้องกับเซิร์ฟเวอร์ของเราเอง ฉันถูกไหม?


8
มีวิธีใดบ้างในการดีบัก Javascript ภายใน UIWebView
ฉันพยายามหาสาเหตุว่าทำไมบางอย่างกับ Javascript จึงไม่ทำงานภายใน UIWebView สำหรับความรู้ของฉันไม่มีทางที่จะตั้งเบรกพอยต์ภายในของ XCode สำหรับไฟล์ js ไม่มีปัญหาฉันจะกลับไปปี 2004 และใช้ตัวแจ้งเตือน - โอ้เดี๋ยวก่อนพวกเขาดูเหมือนจะไม่ทำงานภายใน UIWebView เหมือนกัน! สิ่งเดียวที่ฉันคิดได้ก็คือการส่งออกไฟล์ HTML และ JS ไปยังเดสก์ท็อปของฉันจากนั้นทำการดีบักภายใน Safari และนั่นก็ใช้ได้! แต่แน่นอนข้อผิดพลาดที่ฉันต่อสู้ด้วยใน UIWebView ไม่ได้เกิดขึ้นใน Safari มีวิธีอื่นในการแก้ไขข้อบกพร่องภายใน UIWebView หรือลูกเล่นอื่น ๆ ที่ฉันสามารถใช้เพื่อใช้วิธีการแจ้งเตือนแบบเก่าได้หรือไม่

18
วิธีที่เชื่อถือได้ในการทำให้แอป iOS ขัดข้องคืออะไร
ฉันต้องการทดสอบการรายงานข้อขัดข้องของแอพในฟิลด์โดยตั้งใจว่าจะเกิดข้อผิดพลาดเมื่อผู้ใช้ทำการกระทำเฉพาะที่ผู้ใช้จริงไม่น่าจะทำโดยไม่ตั้งใจ แต่อะไรคือวิธีที่เชื่อถือได้ดีในการทำให้แอพขัดข้องซึ่งไม่ได้สร้างคำเตือนในเวลารวบรวม แก้ไข:โปรดทราบว่าคำตอบที่ดูเหมือนจะชัดเจนสำหรับคำถามนี้ส่งผลให้เกิดข้อยกเว้นที่ Cocoa ติดและไม่ส่งผลให้แอปหยุดทำงาน
136 iphone  objective-c  ios 

4
ฉันจะตั้งค่าตัวแทนอย่างง่ายในการสื่อสารระหว่างสองตัวควบคุมมุมมองได้อย่างไร
ฉันมีสองUITableViewControllersและจำเป็นต้องส่งค่าจากตัวควบคุมมุมมองลูกไปยังผู้ปกครองโดยใช้ผู้รับมอบสิทธิ์ ฉันรู้ว่าผู้ได้รับมอบหมายคืออะไรและแค่ต้องการเห็นตัวอย่างง่ายๆในการติดตาม ขอบคุณ

10
การรับรายการไฟล์ในไดเรกทอรีด้วย glob
ด้วยเหตุผลบางอย่างที่บ้าฉันไม่สามารถหาวิธีรับรายชื่อไฟล์ด้วย glob สำหรับไดเรกทอรีที่กำหนดได้ ฉันกำลังติดอยู่กับบางสิ่งบางอย่างตามแนวของ: NSString *bundleRoot = [[NSBundle mainBundle] bundlePath]; NSArray *dirContents = [[NSFileManager defaultManager] directoryContentsAtPath:bundleRoot]; .. แล้วลอกสิ่งที่ฉันไม่ต้องการออก แต่สิ่งที่ฉันชอบจริงๆก็คือสามารถค้นหาบางอย่างเช่น "foo * .jpg" แทนที่จะขอไดเรกทอรีทั้งหมด แต่ฉันไม่สามารถหาอะไรแบบนั้นได้ แล้วคุณทำยังไงล่ะ

8
iPhone SDK: loadView และ viewDidLoad แตกต่างกันอย่างไร
เมื่อทำงานกับมุมมองและตัวควบคุมมุมมองในแอพ iPhone ทุกคนสามารถอธิบายความแตกต่างระหว่าง loadView และ viewDidLoad ได้หรือไม่ บริบทส่วนบุคคลของฉันคือฉันสร้างมุมมองทั้งหมดของฉันจากรหัสฉันไม่และจะไม่ใช้ตัวสร้างส่วนต่อประสานที่ควรสร้างความแตกต่างใด ๆ ฉันพบว่าบ่อยครั้งที่ฉันเพิ่มรหัสเริ่มต้นลงใน loadView ฉันจะจบด้วยการติดตามสแต็กที่ไม่สิ้นสุดดังนั้นโดยทั่วไปฉันจะสร้างสิ่งที่เด็กดูทั้งหมดใน viewDidLoad ... แต่มันก็ไม่ชัดเจนสำหรับฉันเมื่อถูกประมวลผลและ ตำแหน่งที่เหมาะสมในการใส่รหัส init คืออะไร สิ่งที่จะสมบูรณ์แบบเป็นแผนภาพง่าย ๆ ของการเริ่มต้นการโทร ขอบคุณ!

7
การติดตาม / ตรวจสอบการใช้ข้อมูล iPhone
ฉันค้นหาในหัวข้อนี้ แต่พบรายละเอียดน้อยมากซึ่งเป็นประโยชน์ ด้วยรายละเอียดเหล่านี้ฉันได้ลองทำโค้ดบางส่วนดังนี้ หมายเหตุ: โปรดเปรียบเทียบรายละเอียดที่แชร์ในโพสต์นี้กับโพสต์อื่นก่อนที่จะทำเครื่องหมายว่า DUPLICATE ไม่ใช่เฉพาะเรื่อง - (NSArray *)getDataCountersForType:(int)type { BOOL success; struct ifaddrs *addrs = nil; const struct ifaddrs *cursor = nil; const struct sockaddr_dl *dlAddr = nil; const struct if_data *networkStatisc = nil; int dataSent = 0; int dataReceived = 0; success = getifaddrs(&addrs) == 0; if …
136 iphone  ios  sockets 

1
แฟล็ก -ObjC linker ทำอะไร
ฉันมีแอพที่ทำงานร่วมกับและไม่มีธงลิงเกอร์ อย่างไรก็ตามหากไม่มีการตั้งค่าตัวเชื่อมโยงฉันจะได้รับพฤติกรรมที่แตกต่างกันมากเมื่อเพิ่มข้อมูลลงในมุมมอง

6
วิธีการแสดงเวอร์ชัน / สร้างจำนวนเป้าหมายในแอป iOS โดยทางโปรแกรม
ฉันจะรับค่าของทางโปรแกรมได้target versionอย่างไรเช่นในภาพด้านล่าง ดังที่เห็นในหน้าต่างคุณสมบัติของเป้าหมายของโครงการ Xcode ของฉัน ฉันต้องการแสดงสิ่งนี้ในหน้าจอเริ่มต้นของแอปของฉันเพื่อที่ฉันจะได้ทราบว่าผู้คนกำลังใช้เวอร์ชันใดอยู่

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