ฉันจะเข้าถึงเครื่องโฮสต์จากเครื่องจำลอง iPhone ได้อย่างไร


101

ฉันกำลังพัฒนาแอปที่เชื่อมต่อกับบริการเว็บสำหรับการใช้งานส่วนใหญ่ ในฐานะทางลัดฉันต้องการเรียกใช้สำเนาของเซิร์ฟเวอร์การพัฒนาบนเครื่องของฉัน คำถามคือ:

ฉันจะเข้าถึงเครือข่ายของเครื่องโฮสต์ (http ในกรณีนี้) จากเครื่องจำลอง iPhone ได้อย่างไร

ฉันกำลังพัฒนาบริการเว็บควบคู่ไปกับแอปดังนั้นการมีทั้งสองอย่างบนเครื่องโฮสต์จะเป็นประโยชน์จากนั้นฉันจึงสามารถดำเนินการเปลี่ยนแปลงได้ตามต้องการ


การตั้งค่าสำหรับเซิร์ฟเวอร์การพัฒนาของคุณคืออะไร?
Nick Weaver

คุณสงสัยว่าจะใช้ไลบรารีอะไรใน iOS SDK? คุณควรจะสามารถระบุสตริง URL นั่นคือ " localhost: #### / myURL "
Jacob Barnard

คำตอบ:


133

iOS Simulator ใช้เครือข่ายเครื่องโฮสต์ดังนั้นคุณควรจะสามารถใช้ localhost หรือที่อยู่ IP ของเครื่องของคุณได้ไม่ว่าบริการเว็บของคุณจะใช้ IP ใดก็ตาม


จากคำตอบของ jaminguy นอกจากนี้ MAC OSX ยังมีเซิร์ฟเวอร์ Apache ในตัว เพียงแค่ทำการค้นหาโดย Google อย่างรวดเร็ว .....
Sid

1
คุณจะทราบได้อย่างไรว่าพอร์ตใดใช้?
Doidgey

3
พอร์ตขึ้นอยู่กับการตั้งค่าเว็บเซิร์ฟเวอร์ของคุณ
zambono

1
สามารถทำได้จากอุปกรณ์ที่เชื่อมต่อผ่าน USB หรือไม่?
Ian Warburton

1
@IanWarburton ไม่มีอุปกรณ์แยกใด ๆ ที่จะต้องใช้ที่อยู่ IPv4 ของคอมพิวเตอร์ของคุณ (หากอุปกรณ์ทั้งสองไม่ได้อยู่ในเครือข่ายเดียวกันจะซับซ้อนกว่า)
cameloper

6

ใน Swift 5 เพียงโทร:

http://localhost:<port>/file_path 

Info.plistแต่คุณจะต้องเพิ่มในส่วนนี้ให้กับโครงการ

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
        <true/>
</dict>  

มิฉะนั้นข้อผิดพลาดนี้จะเกิดขึ้น

Cannot start load of Task <xx-xx>.<x> since it does not conform to ATS policy.


1
คำตอบนี้ใช้ได้ผล แต่ไม่ใช่วิธีที่ดีในการเข้าถึงสิ่งนี้ Apple ไม่แนะนำอย่างยิ่งให้นักพัฒนาโหลด URL โดยพลการและแอปของคุณจะไม่ได้รับการยอมรับในสโตร์หากคุณใช้วิธีนี้ โปรดดูคำตอบนี้stackoverflow.com/questions/31254725/…เพื่อดูวิธีการกำหนดโดเมนที่อนุญาตพิเศษในแอปของคุณอย่างถูกต้อง
SamG

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