วิธีเปิดใช้งานการแชร์ไฟล์สำหรับแอพของฉัน


158

ฉันมีแอปแก้ไขรูปภาพที่ผู้ใช้สามารถใช้เอฟเฟกต์กับรูปภาพได้ ฉันจะเปิดใช้งานเพื่อให้ผู้ใช้สามารถเห็นแอพของฉันใน iTunes ในแท็บ File Sharing จากนั้นเพียงแค่ลาก + วางรูปถ่ายไปที่แอพ

ผู้อ่าน eBook อย่าง Stanza บางคนทำงานแบบนี้และจะเป็นตัวเลือกที่ยอดเยี่ยม บางทีใครบางคนสามารถชี้ให้เห็นการสอนหรือแหล่งข้อมูลที่พูดถึงวิธีการเปิดใช้งานและใช้เทคนิคนี้


คำตอบ:


282

คุณเพียงแค่ต้องตั้งค่าUIFileSharingEnabled( Application Supports iTunes file sharing) คีย์ในรายการข้อมูลของแอปของคุณ นี่คือลิงค์สำหรับเอกสาร เลื่อนลงไปที่ส่วนสนับสนุนการแชร์ไฟล์

ในอดีตจำเป็นต้องกำหนดCFBundleDisplayName( Bundle Display Name) หากยังไม่มีอยู่ รายละเอียดเพิ่มเติมที่นี่


57
สำหรับคนที่คุณชอบฉันนั่นคือ: แอปพลิเคชั่นรองรับการแชร์ไฟล์ iTunesเมื่อแก้ไขไฟล์info.plistใน Xcode
LavaSlider

มีเหตุผลใดบ้างที่ทำให้ไม่มีผลในแอปพลิเคชันเดียว ฉันเปิดใช้งานแล้ว แต่แอพจะไม่ปรากฏในการแชร์ไฟล์ของ iTunes
rraallvv

@rraallvv คุณกำลังพยายามสร้างการพัฒนาหรือการสร้างแบบเฉพาะกิจ?
Vin

@rraallvv คุณอาจต้องตั้งค่าประเภทไฟล์ของคุณ ... (ประเภทเอกสารภายใต้เป้าหมาย / ข้อมูล)
nielsbot

และในกรณีที่คนอื่นกำลังดึงผมมากกว่ามันไม่ทำงานให้ตรวจสอบดูว่าคุณอาจมี Info.plist มากกว่าหนึ่งรายการหรือไม่
Tony Adams

42

ตามเอกสารของ apple :

การสนับสนุนการแชร์
ไฟล์การสนับสนุนการแชร์ไฟล์ช่วยให้แอปทำให้ไฟล์ข้อมูลผู้ใช้พร้อมใช้งานใน iTunes 9.1 และใหม่กว่า แอปที่ประกาศการสนับสนุนสำหรับการแชร์ไฟล์ทำให้เนื้อหาของไดเรกทอรี / เอกสารพร้อมใช้งานสำหรับผู้ใช้ ผู้ใช้สามารถย้ายไฟล์เข้าและออกจากไดเรกทอรีนี้ตามต้องการจาก iTunes คุณสมบัตินี้ไม่อนุญาตให้แอปของคุณแชร์ไฟล์กับแอพอื่นในอุปกรณ์เดียวกัน ลักษณะการทำงานนั้นต้องมีวัตถุทำด้วยกระดาษแข็งหรือวัตถุตัวควบคุมการโต้ตอบของเอกสาร

หากต้องการเปิดใช้งานการแชร์ไฟล์สำหรับแอปของคุณให้ทำดังนี้:

  1. เพิ่มUIFileSharingEnabledกุญแจสำคัญในการไฟล์ Info.plist ของแอปและการตั้งค่าของคีย์กับYES (ชื่อคีย์จริงคือ "แอปพลิเคชันรองรับการแชร์ไฟล์ iTunes")

  2. ใส่ไฟล์ใดก็ได้ที่คุณต้องการแชร์ในไดเรกทอรีเอกสารของแอป

  3. เมื่อเสียบอุปกรณ์เข้ากับคอมพิวเตอร์ของผู้ใช้แล้ว iTunes จะแสดงส่วนการแชร์ไฟล์ในแท็บแอพของอุปกรณ์ที่เลือก

  4. ผู้ใช้สามารถเพิ่มไฟล์ในไดเรกทอรีนี้หรือย้ายไฟล์ไปยังเดสก์ท็อป

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

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคีย์ UIFileSharingEnabled ดูข้อมูลรายการทรัพย์สินที่สำคัญอ้างอิง


1
เหตุใดแอปไม่ควรแสดงรายการไฟล์ให้ผู้ใช้เห็น
Cutetare

1
@Cuterare: สมมติว่าคุณต้องการเฉพาะไฟล์ MP3 ในไดเรกทอรีเอกสาร แต่ผู้ใช้ใส่ไฟล์. pdf แล้วคุณก็ปล่อยมันขึ้นอยู่กับผู้ใช้หรือจัดการที่จุดสิ้นสุดของคุณ ดังนั้นดูแลสิ่งที่คุณทำกับไฟล์ มันอ้างอิงจากเอกสารของ Apple โปรดไปที่ url
Nico

ฉันจะส่งออกรายละเอียดบันทึกจาก windows pc ได้อย่างไร
Vineesh TP

13

ใหม่ XCode 7 จะต้องใช้เฉพาะคีย์ 'UIFileSharingEnabled' ใน Info.plist 'CFBundleDisplayName' ไม่จำเป็นต้องใช้อีกต่อไป

คำใบ้อีกข้อหนึ่ง: ไม่เพียง แต่ปรับเปลี่ยน Info.plist ของเป้าหมาย 'ทดสอบ' แอปหลักและ 'การทดสอบ' มี Info.plist ที่แตกต่างกัน


สวัสดี ฉันเพิ่ม "แอปพลิเคชันรองรับการแชร์ไฟล์ iTunes" - "YES" ใน info.plist ของฉัน แต่สายจะถูกลบโดยอัตโนมัติเมื่อฉันเริ่มปุ่ม "Run" บน Xcode คุณไม่มีปัญหาเดียวกันหรือ
M.Masa

6

หากคุณพบตัวอักษรเป็นตัวย่อควรเป็น "แอปพลิเคชันรองรับการแบ่งปันไฟล์ iTunes"


2

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

  • บันทึกไฟล์บางไฟล์ลงในไดเรกทอรีเอกสารของแอป
  • ย้ายบางสิ่งจาก iCloud Drive ไปยังแอปของคุณ (ในกล่องโต้ตอบการย้ายโฟลเดอร์จะปรากฏขึ้น) ทันทีที่ไม่มีไฟล์ในโฟลเดอร์ของคุณอีกต่อไปมันจะหายไปจาก "บนแท็บ iPad ของฉัน"

ขอบคุณที่เพิ่มสิ่งนี้ สิ่งเดียวที่ฉันพบว่าสับสนคือครั้งแรกที่คุณเปิดการแชร์ไฟล์และบันทึกไฟล์ที่คุณต้องเปิดและเชื่อมต่ออุปกรณ์ของคุณเพื่อแสดงสิ่งใด ๆ ในกรณีที่คนอื่นเสียเวลากับสิ่งนี้
Cosworth66

1

ใน Xcode 8.3.3 เพิ่มแถวใหม่ใน. plist ด้วยค่าจริง

แอปพลิเคชั่นรองรับการแชร์ไฟล์ iTunes

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