Xcode 6 - วิธีการเลือกโปรไฟล์การลงนามใบรับรอง / การจัดสรรสำหรับการกระจายโฆษณาแบบเฉพาะกิจ?


143

ในการเผยแพร่แอปไปยังผู้ทดสอบของเราเราใช้ Xcode ซึ่งเราใช้กระบวนการดังต่อไปนี้:

  • แอปพลิเคชั่นเก็บถาวร
  • แจกจ่ายสำหรับ Ad-Hoc
  • เลือกโปรไฟล์การจัดสรร
  • บันทึก. ipa ลงในโฟลเดอร์

แต่ด้วยXcode 6เวิร์กโฟลว์นี้ก็เปลี่ยนไปเล็กน้อย ฉันยังคงสามารถเลือกตัวเลือกการกระจาย Ad-Hoc ได้ แต่ฉันไม่สามารถเลือกโปรไฟล์การจัดสรรที่ฉันต้องการได้ สิ่งนี้ทำให้เราไม่สามารถควบคุมได้ว่าจะใช้ใบรับรองการเซ็นชื่อใดและการกำหนดค่าโปรไฟล์การจัดเตรียม (เราใช้การแจ้งเตือนแบบพุช)

โดยใช้การiPhone distributionเซ็นชื่อเริ่มต้นและXC Ad Hocมีการสร้างโปรไฟล์การจัดสรรบางประเภทซึ่งสามารถดูได้จากภาพด้านล่าง: การส่งออก IPA หากคุณคลิกที่ลูกศรใกล้กับโปรไฟล์การตั้งค่ามันจะเปิดโฟลเดอร์ที่มีโปรไฟล์การจัดสรร

ดังนั้นคำถามของฉันคือ:

มีวิธีใดบ้างใน Xcode 6 ในการเลือกโปรไฟล์การจัดสรรที่ใช้กับการกระจาย Ad Hoc

ขอบคุณ!


ไม่มีใครรู้ว่าสิ่งนี้ได้รับการแก้ไขแล้วหรือไม่? จะมีการแจกจ่าย build ให้กับผู้ใช้ iOS 7 เพื่อทดสอบการแจ้งเตือนแบบพุชหรือไม่?
haupman

ใช้รุ่น Xcode 6 GM ปัญหาเดียวกัน ...
Chris Chen

ดังนั้นเรายังไม่มีทางออกที่ดีสำหรับเรื่องนี้? คำตอบด้านล่างใช้ไม่ได้สำหรับฉัน เราสามารถใช้โปรไฟล์การจัดเตรียม XC ได้หรือไม่? ฉันไม่อยากเสียเวลาหนึ่งสัปดาห์เพื่อรอรีวิวแอปเปิ้ล ขอบคุณ
Miles M.

2
ฉันมีปัญหานี้ในวันนี้และดูเหมือนว่า Xcode ใช้เฉพาะโปรไฟล์การกระจายที่ใช้อุปกรณ์ทั้งหมดที่คุณลงทะเบียนออนไลน์
HackingOtter

1
อย่างจริงจัง? เราไม่สามารถเลือกไฟล์การจัดสรรได้ใช่ไหม ฉันเชื่อว่าชีวิตของชาวยศซาเรียน
ajbraus

คำตอบ:


52

ฉันประสบปัญหาเดียวกันแก้ไขโดยใช้สคริปต์เครื่องมือบรรทัดคำสั่ง "xcodebuild" ซึ่งติดตั้งไว้ล่วงหน้าด้วย Xcode 6 (ไม่จำเป็นต้องติดตั้ง Xcode 5 อีกครั้ง)

http://www.thecave.com/2014/09/16/using-xcodebuild-to-export-a-ipa-from-an-archive/

สคริปต์ในเทอร์มินัล:

xcodebuild -exportArchive -archivePath $projectname.xcarchive -exportPath $projectname -exportFormat ipa -exportProvisioningProfile 'Provisioning Profile Name'

1
มันใช้งานได้สำหรับฉัน! คำตอบอื่น ๆ ที่ใช้xcodebuildไม่มี-exportProvisioningProfileสวิตช์
bunnyhero

6
โปรดทราบว่านี่จะทำงานไม่ถูกต้องหากแอปของคุณใช้ส่วนขยายใด ๆ กรอบงานหรือไลบรารีที่ฝังตัว
clarkcox3

4
สิ่งนี้ช่วยฉัน ขอบคุณ! ดังนั้น Apple จึงอัพเดท XCode เพื่อสร้าง XC Prov crappy แต่ลืมเกี่ยวกับ XCodeBuild เราโชคดีในครั้งนี้ Oh! แอปเปิ้ลทำให้เราต้องทนทุกข์ทรมาน!
kamyFC

1
ฉันตั้งค่านี้เป็นคำตอบที่ยอมรับได้ คำตอบอาจใช้ไม่ได้กับทุกกรณี แต่ด้วยการแก้ไข xcodebuild บางอย่างสามารถใช้แก้ปัญหานี้ได้ (นี่คือสิ่งที่เรากำลังทำบนเซิร์ฟเวอร์ CI ของเรา)
Legoless

1
ฉันหวังว่าฉันได้เรียนรู้ 3 ชั่วโมงก่อนหน้านี้ที่ xcodebuild สามารถส่งออกไปยังรูปแบบ ipa ได้ในขณะนี้! ฉันเสียเวลาไปมากที่จะพยายามให้ xcrun ฝังโปรไฟล์การจัดสรรที่กำหนด แต่มันจะไม่ทำงานบน Xcode 6 xcodebuild ทำ! ขอบคุณ.
ออสการ์ Hierro

31

ฉันมีปัญหาคล้ายกันเมื่อส่งไปที่ The App Store ฉันสร้างไฟล์เก็บถาวรจากนั้นคลิก "ส่ง" และ Xcode ต้องการลงชื่อโดยอัตโนมัติด้วยค่าเริ่มต้น "XC com. *" โปรไฟล์การเตรียมไวด์การ์ดแทนโปรไฟล์ที่ชัดเจนที่มีอยู่แล้ว

ในการแก้ไขปัญหานี้ฉันเพิ่งสร้างโปรไฟล์ขึ้นใหม่บน Apple Developer Portal:

1) ไปที่ developer.apple.com และค้นหาโปรไฟล์การจัดสรรการแจกจ่ายที่คุณต้องการใช้
2) เลือกคลิก "แก้ไข" ตั้งชื่อโปรไฟล์ใหม่แล้วคลิก "สร้าง"
3) ดาวน์โหลดโปรไฟล์การจัดสรรไปยังเดสก์ท็อปและลากไปยังไอคอน Xcode 6
4) เริ่ม Xcode อีกครั้ง 6.
5) เปิดหน้าต่างผู้จัดงานและคลิกที่ "ส่ง" ในไฟล์เก็บถาวรที่คุณสร้างขึ้น Xcode จะเลือกโปรไฟล์ที่ชัดเจนของคุณโดยอัตโนมัติแทนโปรไฟล์ทั่วไป


สวัสดีมีคำสั่งอย่างเป็นทางการเกี่ยวกับการเปลี่ยนแปลงนี้หรือไม่?
ตรงไปตรงมา

ไม่ใช่ที่ฉันรู้ ฉันพยายามเปรียบเทียบโปรไฟล์เก่า & ใหม่ในโปรแกรมแก้ไขข้อความเพื่อดูว่าฉันสามารถสังเกตเห็นการเปลี่ยนแปลงในรูปแบบได้หรือไม่ แต่ฉันไม่ได้สังเกตเห็นอะไรสำคัญ
GingerBreadMane

2
ฉันไม่เชื่อ แต่สิ่งนี้ใช้ได้สำหรับฉัน ฉันเพิ่งจะเปลี่ยนไปเป็น Xcode 6 และพยายามที่จะแสดงผลงานสร้างครั้งแรกของฉัน
Newtz

จนถึงตอนนี้ฉันใช้โปรไฟล์การจัดสรรเพื่อการพัฒนา ยังคงใช้งานได้หรือฉันต้องการสร้างโปรไฟล์การกระจาย?
Legoless

ใช่ Legoless คุณจะต้องสร้างโปรไฟล์การแจกจ่ายเพื่อส่งออกบิลด์ คุณยังสามารถใช้โปรไฟล์การพัฒนาเพื่อแก้ไขข้อบกพร่องเมื่ออุปกรณ์ของคุณเชื่อมต่อกับ Mac ของคุณ
codeburn

27

เมื่อคุณอยู่ใน Organizer

  • เลือก ad-hoc build และคลิก "ส่งออก .... "
  • เลือก "บันทึกสำหรับการปรับใช้ Ad Hoc" -> ถัดไป
  • แทนที่จะเลือกองค์กรจากรายการแบบหล่นลงเลือก "ใช้เนื้อหาการลงชื่อในท้องถิ่น" -> เลือก
  • ส่งออกและบันทึก. ipa เหมือนเดิม

แน่นอนคุณต้องสร้างดาวน์โหลดและติดตั้งโปรไฟล์การจัดสรรเฉพาะกิจ


5
แก้ไขปัญหาด้วยคำตอบนี้และคำตอบนี้ โปรไฟล์การจัดสรรจะต้องเชื่อมโยงกับ ID แอปที่ชัดเจนซึ่งใช้ตัวระบุบันเดิลเดียวกับแอปของคุณ รหัสแอพตัวแทนจะไม่ทำงาน จากนั้นคุณต้องเลือก "ใช้เนื้อหาการลงชื่อท้องถิ่น" เมื่อส่งออกแอป
Sarah Elan

@SarahElan รวมคำตอบทั้งสองไว้แล้วเขียนคำตอบใหม่ ... ขอบคุณ
YaBoiSandeep

จากความเห็นของฉันและเกี่ยวกับประสบการณ์ของฉันฉันคิดว่านี่เป็นคำตอบที่ดีที่สุด ขอบคุณ
Basem Saadawy

17

ดูเหมือนว่าโปรไฟล์การจัดสรรที่สร้างล่าสุดชนะตอนนี้ ดังนั้นคุณสามารถสร้างโปรไฟล์ที่คุณต้องการและดาวน์โหลดใหม่อีกครั้งและ Xcode จะใช้มัน

วิธีที่ดีกว่าเล็กน้อย: ตั้งค่าโปรไฟล์ prov ที่ต้องการในเป้าหมายของคุณและใช้บรรทัดคำสั่งเพื่อสร้าง ipa ของคุณที่ใช้งานได้เช่นกัน

นี่คือสคริปต์ที่ฉันใช้:

#!/bin/sh

# Current as working as of 2014/09/22
# Xcode 6

OUTPUTDIR="$HOME/build"
APPNAME="your-app"
SCHEME="your-app"
APP_WORKSPACE="$HOME/Path/To/your-app.xcworkspace"

rm "$OUTPUTDIR/$APPNAME.ipa" #deletes previous ipa
xcodebuild -workspace "$APP_WORKSPACE" -scheme "$SCHEME" archive -archivePath "$OUTPUTDIR/$APPNAME.xcarchive"
xcodebuild -exportArchive -exportFormat ipa -archivePath "$OUTPUTDIR/$APPNAME.xcarchive" -exportPath "$OUTPUTDIR/$APPNAME.ipa" 

และการตั้งค่าของฉัน:

การตั้งค่า Xcode


มีวิธีง่ายกว่านี้ไหม?
Timur Bernikovich

ฉันคิดว่าเป็นเพราะ MacOS 10.0 ยังอยู่ในช่วงเบต้า
Timur Bernikovich

1
ปัญหาเกี่ยวกับการใช้โปรไฟล์ XC Ad Hoc ก็คือพวกเขามักจะรวมถึงอุปกรณ์ทั้งหมด - ใช้ตัวเลือกในการปิดการใช้งานอุปกรณ์บางอย่างที่คุณสามารถทำได้กับโปรไฟล์ด้วยตนเอง
จอนนี่

โปรไฟล์ XC Ad Hoc เป็นเพียงตัวอย่างเท่านั้น คุณสามารถใช้โปรไฟล์ใดก็ได้ที่คุณชอบ
Thorsten

คุณควรลบส่วนขยาย '.ipa' ออกจากอาร์กิวเมนต์เป็น -exportPath เนื่องจากมีการเพิ่มโดยอัตโนมัติโดย xcodebuild
Oscar Hierro

8

ฉันไม่สามารถเข้าใจสิ่งนี้ได้ - รับบิตเมื่อส่งไปยัง AppStore ซึ่งค่าเริ่มต้นเป็นโปรไฟล์ตัวแทน

ฉันลงเอยด้วยการสร้างใน Xcode 6 จากนั้นกลับไปที่หน้าต่าง Organizer Xcode 5 เพื่อส่ง ด้วยวิธีนี้มันจะพร้อมท์ให้คุณเลือกโปรไฟล์ที่จะเซ็นด้วย


นี่คือวิธีแก้ปัญหาที่ฉันทำ แต่ตอนนี้ฉันต้องการกำจัด Xcode 5 จริงๆ ฉันกำลังคิดที่จะใช้ xcrun และ command line ตอนนี้
Legoless

ฉันลองใช้วิธีแก้ปัญหาที่แนะนำทั้งหมดแล้ว แต่นี่เป็นวิธีเดียวที่ใช้งานได้จริง
HunTer DRF

8

ใน Xcode 6 (อย่างน้อย 6.1 ฉันใช้อยู่ตอนนี้) เมื่อคุณทำการส่งออกสำหรับเฉพาะกิจ, xcode 6 จะสแกนโดยอัตโนมัติหากมีโปรไฟล์การจัดสรรใด ๆ ที่มีอุปกรณ์ทั้งหมดที่ลงทะเบียนในบัญชีนักพัฒนาซอฟต์แวร์และในเวลาเดียวกันตรงกับรหัสมัด . หากไม่มีจะใช้โปรไฟล์การจัดเตรียม XC ดังนั้นหากคุณต้องการใช้โปรไฟล์ของคุณเองตัวอย่างเช่นเพื่อการแจ้งเตือนแบบพุชคุณจะต้องเลือกอุปกรณ์ทั้งหมดในโปรไฟล์ของคุณบนพอร์ทัลผู้พัฒนาแอปเปิ้ล ฉันเดาว่าเป็นเหตุผลที่บางคนสร้างโปรไฟล์ใหม่จะทำงานได้และบางคนก็ไม่ได้

btw ใช้สคริปต์สามารถส่งออกและอัปโหลดไปยัง testflight แต่อุปกรณ์ไม่สามารถดาวน์โหลดได้ บางทีฉันอาจจะผิดที่ ถ้าใครรู้ว่าทำไมมันเป็นกรุณาแจ้งให้เราทราบ TKS


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

ตรงนี้และดูเหมือนว่าเป็นข้อบกพร่องสำหรับฉันหรือว่าตอนนี้ Apple แนะนำ TestFlight เพื่อแจกจ่ายรุ่นเบต้าการกระจาย AdHoc ไม่ได้รับความสนใจที่เหมาะสม เกิดอะไรขึ้นกับฉันคือสิ่งที่ @AlexHsieh อธิบาย ฉันสร้างโปรไฟล์การจัดสรรของฉันเหมือนที่เคยทำมาก่อนเลือกเฉพาะชุดย่อยของอุปกรณ์ที่ลงทะเบียนทั้งหมดของฉันและเมื่อฉันพยายามสร้าง IPA, Xcode ไม่สามารถหาโปรไฟล์การจัดเตรียมที่ถูกต้องและพยายามใช้ XC หนึ่งที่สร้างขึ้นอัตโนมัตินี้ ก็ล้มเหลวในกรณีของฉัน) การแก้ไขคือการเพิ่มอุปกรณ์ที่ลงทะเบียนทั้งหมดของฉันไปยังโปรไฟล์การจัดเตรียม
jjramos

7

สิ่งนี้ใช้ได้กับฉัน:

  1. คลิก "ดูบัญชี .. " ภายในกล่องโต้ตอบ ".. เลือกทีมพัฒนา .. "
  2. คลิก "ดูรายละเอียด .. " และค้นหาโปรไฟล์การจัดสรร XC Ad Hoc
  3. คลิกขวาที่โปรไฟล์นั้นและเลือก "แสดงใน Finder"
  4. ลบโปรไฟล์ที่เลือก
  5. กลับไปที่กล่องโต้ตอบในขั้นตอนที่ 1
  6. คลิก "เลือก"
  7. คลิกลูกศรใกล้กับโปรไฟล์การจัดเตรียมเพื่อเปิดไดเรกทอรีโปรไฟล์การจัดเตรียม
  8. ลบโปรไฟล์ทั่วไปอีกครั้งเช่นในขั้นตอนที่ 4
  9. คลิกปุ่ม "ก่อนหน้า" จากกล่องโต้ตอบ "ส่ง [ชื่อแอปพลิเคชัน] ไปยัง Apple:"
  10. เลือกอีกครั้ง "บันทึกสำหรับการปรับใช้ Ad Hoc"
  11. คลิกอีกครั้งปุ่ม "เลือก"

ตอนนี้คุณควรเห็นชื่อโปรไฟล์การจัดสรรที่ถูกต้อง


ฉันไม่ได้ลองครั้งแรก แต่อันนี้ใช้ได้สำหรับฉัน ขอบคุณ =]
Glauco Neves

5
ไม่ได้ผลสำหรับฉัน แม้หลังจากลบโปรไฟล์ในขั้นตอนที่ 4 และ 8 แล้วโปรไฟล์ก็จะถูกสร้างขึ้นใหม่และจะถูกเลือกอีกครั้งโดยอัตโนมัติในขั้นตอนที่ 11
Chun

1
ไม่ทำงานสำหรับฉันเพราะทุกครั้งที่ฉันต้องคลิกเลือกบัญชี (ฉันมีหลายบัญชีสำหรับส่งแอพไปยังลูกค้าของฉัน) โปรไฟล์ XC Generated ถูกสร้างขึ้นใหม่ PITA จาก Apple
wuf810

ฉันจะเพิ่มที่ก่อนที่จะทำตามขั้นตอนเหล่านี้ด้วย XCode 6 คุณควรลบ XC: * โปรไฟล์การจัดสรรจากบัญชีนักพัฒนาแอปเปิ้ลของคุณ หลังจากขั้นตอนที่ 4 ฉันจะกลับไปที่กล่องโต้ตอบดูรายละเอียดและกดปุ่มรีเฟรชเพื่อให้แน่ใจว่าโปรไฟล์ XC: * ไม่อยู่ที่นั่นอีกต่อไป นอกจากนี้ให้ใช้การตั้งค่าการสร้างของ Thorsten เพื่อให้แน่ใจว่าคุณเลือกโปรไฟล์ที่ถูกต้อง ทำงานให้ฉันสองครั้ง
Android Noob

ฉันมีปัญหาเช่นเดียวกับ @Chun และ (@) wuf810 .provisions มือถือแช่งเหล่านั้นได้รับการสร้างใหม่ สิ่งที่ฉันทำคือเปิดหน้าต่างไดเรกทอรี "โปรไฟล์การจัดสรร" และเพียงทำตามขั้นตอนจาก (@) user3382891- การลบบันทึก. mobileprovision เร็วเท่าที่พวกเขากำลังสร้างขึ้นใหม่ ในที่สุด Xcode เลือกโปรไฟล์การจัดสรรที่ถูกต้องของฉัน ตอนนี้ผมลงบนปัญหาต่อไป ...
คริส

6

ฉันมีวิธีแก้ปัญหาสำหรับสิ่งนี้ที่เหมาะกับฉัน

ฉันติดตั้ง Xcode 6 และ Xcode 5.1.1 แล้ว Xcode 6 อยู่ในแอปพลิเคชันและ Xcode 5.1.1 อยู่ในไดเรกทอรีอื่น เมื่อฉันต้องการสร้างฉันใช้ Xcode 6 เพื่อสร้างเอกสารเก่า แต่คุณสามารถดูคลังที่สร้างขึ้นใน Xcode 5.1.1 ดังนั้นฉันใช้ Xcode 5.1.1 เพื่อแจกจ่าย Ad Hoc .ipa โดยใช้โปรไฟล์การจัดสรรที่ฉันต้องการใช้ ดังนั้นสร้างโดยใช้ Xcode 6 แต่แจกจ่ายโดยใช้ Xcode 5.1.1


ฉันไม่สามารถอัปโหลดบิลด์เพื่อทดสอบด้วยวิธีนี้ได้
hardik hadwani

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

4

การใช้สินทรัพย์การลงชื่อในท้องถิ่นขณะส่งออกแก้ไขปัญหาให้ฉันได้:ป้อนคำอธิบายรูปภาพที่นี่


3

คำตอบจาก @MrPatol ไม่ได้ผลสำหรับฉัน สถานการณ์การทำงานของฉันสำหรับ Xcode 6.3.2

ในศูนย์สมาชิก -> โปรไฟล์การจัดสรร iOS

  • ลบโปรไฟล์การจัดสรรซึ่งกำหนดไว้ตามค่าเริ่มต้นเมื่อคุณพยายามสร้างแอป (เช่น "XC ... ") สร้างโปรไฟล์การจัดสรรเฉพาะกิจ (ไม่ใช่การผลิต) ด้วยชื่อย่อ

ในยูทิลิตี้กำหนดค่า iPhone -> โปรไฟล์การจัดเตรียม

  • ลบโปรไฟล์การจัดสรรเดียวกัน (เช่น "XC ... ")

ใน Xcode -> ออแกไนเซอร์

  • เลือก ad-hoc build และคลิก "ส่งออก .... " เลือก "บันทึกสำหรับ Ad Hoc Deployment" -> ถัดไป
  • เลือกองค์กรจากรายการแบบหล่นลง
  • ตรวจสอบว่าโปรไฟล์การจัดสรรเฉพาะกิจของคุณถูกเลือกโดยอัตโนมัติ
  • ส่งออกและบันทึก. ipa เหมือนเดิม

2

นี่คือประเด็นสำคัญสองข้อที่แก้ไขปัญหาให้ฉันได้

  • เมื่อคุณสร้างโปรไฟล์การจัดสรรจะต้องเชื่อมโยงกับID แอปที่ชัดเจนซึ่งใช้ตัวระบุบันเดิลเดียวกับแอปของคุณ รหัสแอพตัวแทนจะไม่ทำงาน
  • เมื่อคุณส่งออกแอพสำหรับการปรับใช้ Ad-hoc ให้เลือกใช้เนื้อหาการลงนามในเครื่องในรายการแบบหล่นลงแล้วคลิกเลือก

Xcode จะค้นหาโปรไฟล์การจัดสรรที่ถูกต้องโดยจับคู่ ID แอปกับตัวระบุบันเดิลของแอป


1

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

จากนั้นคุณสามารถเลือกอุปกรณ์ที่สามารถใช้ในการทดสอบแอพได้เช่นเดียวกับโปรไฟล์นักพัฒนา

และใบรับรองที่สร้างขึ้นใหม่จะพร้อมใช้งานเมื่อคุณส่งออกแพคเกจของคุณจาก Organizer ตามปกติ

หรือคุณสามารถใช้โซลูชัน TestFlight ที่จัดทำโดย Apple พร้อม iOS 8 เพื่อให้ผู้ใช้ของคุณสามารถเข้าถึงการวางจำหน่ายก่อนวางจำหน่าย

ป้อนคำอธิบายรูปภาพที่นี่


ใช่ แต่เมื่อคุณชี้ให้เห็นว่านี่หมายถึง iOS8 เท่านั้น แอปเปิลนั้นโง่เป็นพิเศษบังคับให้ผู้ใช้ Testflight ไปยัง iOS8 เท่านั้น ในขณะที่ดีฐานที่ใหญ่ที่สุดจะยังคงเป็น iOS7 ดังนั้นแอปเปิ้ลควรได้รับอนุญาต
wuf810

1

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


1
วิธีนี้ใช้ได้ผลก็ต่อเมื่อคุณโอเคกับโปรไฟล์การจัดสรรที่มีอุปกรณ์ทั้งหมดที่ลงทะเบียนด้วยบัญชี iOS dev ของคุณ หากต้องการใช้อุปกรณ์เพียงบางส่วนในโปรไฟล์การจัดสรรฉันต้องใช้เทคนิคนี้: stackoverflow.com/a/26296138/71262
Oran Dennison


0

เกือบจะเป็นปัญหาเดียวกัน หลังจากสร้างไฟล์เก็บถาวรเพื่อแจกจ่าย (ผลิตภัณฑ์> เก็บถาวร) คุณส่งออกไฟล์เก็บถาวร (คลิกส่งออก ... ) และเลือก "บันทึกสำหรับการปรับใช้ระดับองค์กร"; จากนั้น "ถัดไป" จากนั้นคุณเลือกค่าเริ่มต้น "ทีมพัฒนา" (เช่นชื่อองค์กร) และคลิก "เลือก" ในที่สุดคุณจะได้รับการนำเสนอด้วยมุมมองสรุปที่แสดงรายการโปรไฟล์การจัดเตรียมที่ Xcode พบโดยอัตโนมัติ (อาจสร้างแบบ on-the-fly) สำหรับคุณ อาจเป็นโปรไฟล์การจัดสรรที่ไม่ถูกต้อง (โดยทั่วไปคือโปรไฟล์การจัดสรรไวด์การ์ดเช่น "XC: *") และอาจเกิดขึ้นเนื่องจากมีโปรไฟล์การจัดสรรไวด์การ์ดในพอร์ทัลนักพัฒนาแล้ว

ผมใช้ตั๋วสนับสนุนนี้และมีเพียงกลับมาที่ลิงค์นี้https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringPushNotifications/ConfiguringPushNotifications.html#//apple_ref/doc/uid/TP40012582 -CH32-SW1 ไม่ได้ช่วยอะไรมาก

ฉันพบว่าวิธีการแก้ปัญหาของMrPatolยังใช้งานได้กับการปรับใช้ระดับองค์กรอีกด้วยและแก้ปัญหาให้เราได้ ฉันเข้าสู่พอร์ทัลนักพัฒนาและสร้างโปรไฟล์การจัดสรรที่เหมาะกับแอพของฉันด้วยตนเอง จากนั้นดาวน์โหลดและติดตั้งโปรไฟล์การจัดสรรที่สร้างขึ้นใหม่ด้วยตนเอง


0

ใน xcode 7 ฉันไม่สามารถเลือกการจัดสรรเฉพาะกิจได้

ออแกไนเซอร์ -> อัปโหลดไปยัง App Store & Organizer -> ตรวจสอบความถูกต้อง

แต่ฉันเลือกได้จากออแกไนเซอร์ -> ส่งออก

แก้ไข:

อัปโหลดแอปหลังจากที่การส่งออกไปยังร้านค้าเฉพาะกิจ app สำหรับ testFlight ก่อให้เกิดปัญหาอื่นกล่าวถึงที่นี่ ดังนั้นวิธีแก้ไขปัญหาทั้งสองข้อจึงเป็นเรื่องเดียว สร้างการจัดเตรียม AppStore เพื่อให้สามารถเลือกผ่านผู้จัดการและใช้ testFlight โดยอัปโหลดไปยัง appstore


0
  1. ฉันคิดว่ามันเป็นวิธีที่ถูกต้องในการระบุตัวเลือก -exportOptionsPlist หลังจาก Xcode 7 มันจะเลือกไฟล์การจัดเตรียมที่ถูกต้องเช่นในการส่งออก GUI ไม่ว่าคุณจะระบุในการตั้งค่าโครงการก็ตาม

xcodebuild -exportArchive -archivePath $ Archive_Path -exportPath $ LOCAL_PACKAGE_DIR -exportOptionsPlist $ Export_Plist_Path

ไฟล์ optionPlist เป็นแบบนี้

<dict>
  <key>teamID</key>
        <string>MYTEAMID123</string>
        <key> teamID </key>
        <string>app-store</string>
        <key>uploadSymbols</key>
        <true/>
</dict>


<plist>

app-store, enterprise, ad-hoc, การพัฒนาเป็นทางเลือก

  1. แต่คุณอาจพบข้อผิดพลาดอีกหลังจากด้านบน

Error Domain = IDEDistributionErrorDomain Code = 14 "ไม่พบอุปกรณ์ที่ใช้งานได้" UserInfo = {NSLocalizedDescription = ไม่พบอุปกรณ์ที่ใช้งานได้}

มันเป็นปัญหาทับทิม ลองเชลล์สคริปต์นี้xcbuild-safe.sh

xcbuild-safe.sh xxxxNormalOptionsInXcodebuild bla...
  1. รอสักครู่มีข้อผิดพลาดแปลก ๆ เกิดขึ้นอีก

xcbuild-safe.sh: บรรทัด 62: shell_session_update: ไม่พบคำสั่ง

นรกshell_session_updateคืออะไร? ให้เราหลีกเลี่ยงมัน เพียงกำหนดฟังก์ชั่นก่อน xcode build cmd จริงคือที่บรรทัดที่ 60 หรือ 61

function shell_session_update() { :; }

-4

ในการตอบคำถามเฉพาะของคุณไม่มีวิธีการเลือกโปรไฟล์การจัดสรรที่จะใช้ คุณพยายามทำอะไร (เช่นโปรไฟล์ที่คุณต้องการเลือกอนุญาตให้โปรไฟล์ที่สร้างโดยอัตโนมัติไม่ได้)


1
ตัวอย่างเช่นการมีรายการ UDID เฉพาะสำหรับแอปพลิเคชันนั้น ฉันกำลังพัฒนาแอพสำหรับลูกค้าหลายคนและฉันไม่สามารถผสมปนเปกันได้ มีวิธีแก้ไขปัญหานี้แน่นอน แต่พวกเขาทั้งหมดมีความซับซ้อนมากกว่าเพียงแค่เลือกโปรไฟล์การจัดสรรที่ฉันต้องการใช้
Lope

แน่นอนที่สุดคือวิธีการเลือกโปรไฟล์การจัดสรรที่จะใช้ stackoverflow.com/a/26296138/71262
Oran Dennison

1
@Lope หากลูกค้ามีหนึ่งในแอพของคุณและมีการติดตั้งโปรไฟล์ที่เกี่ยวข้องพวกเขาสามารถติดตั้งแอพใดก็ได้ของคุณ (แม้ว่าโปรไฟล์ของแอพอื่น ๆ จะไม่มีอุปกรณ์) ความสับสนนี้เป็นหนึ่งในสาเหตุหลักที่เราต้องการย้ายนักพัฒนาออกจากการระบุโปรไฟล์และรายการอุปกรณ์ด้วยตนเอง (เช่นคนจำนวนมากดูเหมือนจะอาศัยความรู้สึกที่ผิด ๆ ของการรักษาความปลอดภัยเป็นเหตุผลหลักที่ต้องการระบุโปรไฟล์ด้วยตนเอง)
clarkcox3

@ clarkcox3 ที่แย่ยิ่งกว่านั้นฉันต้องการที่จะป้องกันไม่ให้ลูกค้าเห็นแอพอื่น ๆ ได้
Lope

@Lope: ฉันไม่ทราบวิธีแจกจ่ายไฟล์ ad hoc ipa ที่จะทำให้แอปทั้งหมดของคุณพร้อมใช้งานสำหรับผู้ทดสอบของคุณ คุณต้องให้แอปที่คุณต้องการทดสอบกับผู้ทดสอบอย่างชัดเจนใช่ไหม การแยกทางกายภาพนั้นจะป้องกันพวกเขาจากการใช้แอพอื่น ๆ (ไม่เหมือนที่พวกเขาสามารถไปที่ร้านและรับทั้งหมดใช่มั้ย) มีวิธีอื่นที่ผู้ทดสอบของคุณสามารถเข้าถึงแอปทั้งหมดของคุณโดยไม่ได้รับอนุญาตหรือไม่?
ลีแอนน์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.