저는 회 사용 앱을 개발 중이며 회사의 iOS Dev Center 계정에 iPad를 추가하여 사람들을 “베타”로 천천히 보내는 과정을 거치고 있습니다. 거기에서 로컬 인트라넷 배포를위한 임시 빌드를 수행합니다.
마지막 공연에서 사람들을 “내 UDID 찾기”앱 중 하나로 안내하고 찾은 UDID를 보내달라고 요청했습니다.
iOS 7은이 문제를 차단했습니다. 해당 앱은 모두 사라졌고 아직 가지고있는 경우 UDID와 관련이없는 일부 GUID를 반환합니다.
그래서 제가해야 할 일은이 모든 것을 제 Mac에 연결 한 다음 iTunes에서 UDID를 가져 오는 것입니다. 이는 번거 롭습니다 (하지만 iTunes에서 가져 오는 방법을 설명하는 것보다는 심지어 설치). 그리고 때로는 내 Mac과 동기화하려고 시도하는데, 장치에서 원하지 않는 프로비저닝 프로파일을 설정하는 것 외에 다른 효과가없는 것 같습니다. 그리고 적어도 한 번은 iPad를 가지고 갑자기 iOS 6에서 iOS 7으로 업그레이드하기로 결정했습니다. 이는 연결과 관련이 있는지 확실하지 않습니다 (이 경우 사용자는 업그레이드를 원하지 않았습니다).
그렇다면 iPad에서 UDID를 컴퓨터에 연결하는 것 외에 다른 방법이 있습니까?
명확하게하기 위해 : 앱에서 UDID를 얻으려는 것이 아니라 배포를 위해 개발자 프로필의 장치 목록에 추가 할 UDID를 얻는 가장 빠른 방법을 생각하고 있습니다.
답변
내 연구 결과는 다음과 같습니다.
Apple은 iOS 7부터 모든 공용 API에서 UDID를 숨겼습니다. FFFF로 시작하는 모든 UDID는 가짜 ID입니다. 이전에 작동했던 “UDID 보내기”앱은 더 이상 테스트 장치의 UDID를 수집하는 데 사용할 수 없습니다. (한숨!)
UDID는 기기가 XCode에 연결되어있을 때 (수첩에서), 기기가 iTunes에 연결되었을 때 표시됩니다 (단, 식별자를 표시하려면 ‘일련 번호’를 클릭해야합니다.
프로비저닝 프로파일에 추가 할 장치의 UDID를 가져와야하고 XCode에서 직접 할 수없는 경우 iTunes에서 복사 / 붙여 넣기 단계를 안내해야합니다.
업데이트- 테스트 사용자가 서버에서 mobileconfig 파일을 호스팅하여 장치 UDID를 제공 할 수 있도록하는 스크립트 기반 접근 방식은 아래 okiharaherbst의 답변을 참조하십시오.
답변
iOS 기기의 Safari에서 http://get.udid.io/ 로 이동합니다 . 매력처럼 작동하며 iTunes 나 다른 컴퓨터가 필요하지 않습니다. 설치된 앱도 없습니다.
편집하다:
또한 이 .mobileconfig 인증서가 서버에서 호스팅되도록하려면 .mobileconfig에서 장치 UDID 가져 오기 를 참조하세요.
당신 만의 것을 만드세요:
.mobileconfig 예제의 사본을 서버에서 호스팅하고 다음 흐름을 처리하기 위해 원하는 언어로 2-3 개의 작은 스크립트를 작성합니다.
- Safari에서 아래의 enroll.mobileconfig로 리디렉션되는 URL로 이동 합니다. 이렇게하면 iOS가 설정 앱을 열고 프로필을 표시합니다.
- 프로필을 수락하면 iOS는 Safari로 다시 전환하고 DeviceAttributes 배열을 URL이 지정된 enroll.mobileconfig에 게시합니다.
- POST 데이터에는 요청 된 속성이있는 .plist 파일이 포함됩니다 (아래 예 참조). 그중 하나는 거룩한 UDID가 될 것입니다.
비고 : 사용자에게 친숙한 메시지가있을 것입니다. 특히 0 단계도 있습니다. 여기서 사용자는 HTTP 세션에 임시로 저장 한 이름과 전자 메일을 입력 한 다음 요청을 mobileconfig 프로필로 리디렉션합니다. 궁극적으로이 정보를 iPhone 데이터와 일치시키고 친숙한 확인 이메일을 보냅니다. HTH.
enroll.mobileconfig
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<dict>
<key>URL</key>
<string>http://support.devcorp.com/uuid/returnurl/</string>
<key>DeviceAttributes</key>
<array>
<string>DEVICE_NAME</string>
<string>UDID</string>
<string>PRODUCT</string>
<string>VERSION</string>
<string>SERIAL</string>
</array>
</dict>
<key>PayloadOrganization</key>
<string>DevCorp Inc.</string>
<key>PayloadDisplayName</key>
<string>Profile Service</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadUUID</key>
<string>C5FB9D0D-0BE7-4F98-82CC-5D0EA74F8CF8</string> <!-- any random UUID -->
<key>PayloadIdentifier</key>
<string>com.devcorp.profile-service</string>
<key>PayloadDescription</key>
<string>This is a temporary profile to enroll your device for ad-hoc app distribution</string>
<key>PayloadType</key>
<string>Profile Service</string>
</dict>
</plist>
주어진 URL에 iPhone이 게시 한 샘플 .plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PRODUCT</key>
<string>iPhone4,1</string>
<key>SERIAL</key>
<string>DNPGWR2VCTC0</string>
<key>UDID</key>
<string>b01ea7bc2237fed21bfe403c6d2b942ddb3c12c3</string>
<key>VERSION</key>
<string>11A465</string>
</dict>
답변
이것이 도움이되기를 바랍니다.
- iPhone을 MAC에 연결 (Windows에서는 시도하지 않았습니다)
- 왼쪽 상단 모서리에있는 Apple 로고 를 클릭 한 다음 About This Mac을 선택합니다.
- 에서 개요 탭> 시스템 보고서
- 왼쪽 열의 하드웨어 > USB >
- 그런 다음 오른쪽 창에서 iPhone을 선택하십시오.
- 하단 창-> ” 일련 번호 “
-> 그리고 그 일련 번호는 UDID입니다.
답변
사용자가 Linux를 실행하는 경우 터미널에서 사용할 수 있습니다.
lsusb -v 2> /dev/null | grep -e "Apple Inc" -A 2
이것은 연결된 USB 장치에 대한 모든 정보를 가져오고 다음 두 줄을 포함하여 “Apple Inc”로 줄을 인쇄합니다.
결과는 다음과 같습니다.
iManufacturer 1 Apple Inc.
iProduct 2 iPad
iSerial 3 7ddf32e17a6ac5ce04a8ecbf782ca509...
이것은 iOS5-> iOS7에서 저에게 효과적이지만 iOS4 장치에서는 시도하지 않았습니다.
IMO는 내가 찾은 Win / Mac / Browser 솔루션보다 빠르며 “소프트웨어”설치가 필요하지 않습니다.
답변
TestFlight는 사용자가 등록하면 UDID를 추출 할 수있는 것 같습니다.
답변
iPhone 구성 유틸리티를 사용하여 UDID를 읽고 개발 앱을 설치했습니다. iOS7에서 여전히 잘 작동합니다.
답변
플러그를 꽂고 명령 줄에서 다음을 실행합니다.
system_profiler SPUSBDataType
찾다:
Serial Number: xxxx