Kiểm tra ứng dụng iOS trên thiết bị không có chương trình dành cho nhà phát triển của Apple hoặc bẻ khóa


382

Làm cách nào tôi có thể kiểm tra ứng dụng iOS trên iPod Touch mà không cần đăng ký Chương trình nhà phát triển Apple hoặc bẻ khóa iPod?

Không phải là một lựa chọn khả thi tại thời điểm này.

Tôi muốn thử nghiệm trên chính thiết bị thay vì trình giả lập trên màn hình để xem cách nó hoạt động trên iPod thực tế.


2
Vào ngày 8 tháng 6, Apple đã thông báo rằng với Xcode 7, việc cài đặt bất kỳ ứng dụng nào họ phát triển trên thiết bị của họ mà không có Chứng chỉ Chương trình dành cho nhà phát triển của Apple là có thể. Trang web Apple Developer cho biết chúng tôi chỉ cần đăng nhập bằng ID Apple.
skyvin

Kiểm tra câu trả lời này để sử dụng việc cung cấp miễn phí trong chi tiết stackoverflow.com/questions/30973799/
triệt

Là tài khoản nhà phát triển trả phí là vấn đề của bạn? Hay là bạn không muốn đăng ký UDID của mình với Apple? Ngay cả tài khoản miễn phí trong câu trả lời được chấp nhận cũng yêu cầu bạn phải có tài khoản đã đăng ký miễn phí với chương trình dành cho nhà phát triển của Apple và để thêm UDID của thiết bị vào hồ sơ cung cấp phát triển iOS.
chỉnh

1
Dưới đây là một hướng dẫn từng bước khác: stackoverflow.com/a/33928777
Suragch

@wottle: "tài khoản nhà phát triển phải trả tiền" là đặt cược an toàn, xem xét đăng ký UDID với tài khoản miễn phí không phải là một lựa chọn, như, năm năm trước (thời gian câu hỏi này được hỏi). Và tại thời điểm đó, câu trả lời được chấp nhận (của tôi) chỉ đơn giản nói rằng không có lựa chọn nào khác.
BoltClock

Câu trả lời:


429

Bảy năm sau khi App Store ra đời (ngày 10 tháng 7 năm 2008), Apple cuối cùng đã giới thiệu một tính năng mới trong Xcode 7 cho phép bạn triển khai và chạy bất kỳ số lượng ứng dụng nào trên bất kỳ thiết bị nào của mình, chỉ bằng cách đăng nhập bằng Apple TÔI. Bạn sẽ không còn cần phải là thành viên Chương trình trả phí để triển khai các ứng dụng trên thiết bị của riêng bạn (và bạn chắc chắn không còn phải bẻ khóa thiết bị của mình nếu bạn không thoải mái khi làm như vậy).

Vâng, không phải cho phần lớn các trường hợp sử dụng anyway. Vì các lý do rõ ràng, một số khả năng và quyền lợi nhất định yêu cầu tư cách thành viên Chương trình như Trung tâm trò chơi và mua trong ứng dụng sẽ không khả dụng cho các ứng dụng được triển khai bằng phương pháp này. Từ tài liệu dành cho nhà phát triển của Apple :

Khởi chạy ứng dụng của bạn trên các thiết bị sử dụng cấp phép miễn phí (iOS, watchOS)

Nếu bạn không tham gia Chương trình nhà phát triển của Apple, bạn vẫn có thể xây dựng và chạy ứng dụng của mình trên thiết bị bằng cách cung cấp miễn phí . Tuy nhiên, các khả năng có sẵn cho ứng dụng của bạn, được mô tả trong Thêm khả năng , bị hạn chế khi bạn không thuộc Chương trình nhà phát triển của Apple.

Do đó, các bước chính xác để đưa ứng dụng của bạn lên thiết bị iOS hoặc Apple Watch ngay lập tức (bỏ qua ảnh chụp màn hình để dễ lướt qua):

  1. Trong Xcode, thêm tùy chọn ID Apple của bạn vào tài khoản, được mô tả trong Thêm tài khoản Apple ID của bạn trong Xcode .

  2. Trong trình điều hướng dự án, chọn dự án và mục tiêu của bạn để hiển thị trình soạn thảo dự án.

  3. Nhấp vào Chung và chọn tên của bạn từ menu bật lên Đội.

  4. Kết nối thiết bị với máy Mac của bạn và chọn thiết bị của bạn từ menu thanh công cụ Scheme.

  5. Bên dưới menu bật lên Đội, bấm Khắc phục sự cố.

    Xcode tạo hồ sơ cung cấp miễn phí cho bạn và văn bản cảnh báo trong menu bật lên Đội biến mất.

  6. Nhấp vào nút Chạy.

    Xcode cài đặt ứng dụng trên thiết bị trước khi khởi chạy ứng dụng.

Trước Xcode 7, thực sự cần phải có tư cách thành viên Chương trình để ký các chứng chỉ cung cấp cần thiết để triển khai ứng dụng cho các thiết bị. Sự thay thế duy nhất khác là jailbreaking. Với Xcode 7, bạn không còn cần phải bẻ khóa thiết bị của mình chỉ để chạy các ứng dụng được phân phối bên ngoài App Store hoặc để kiểm tra các ứng dụng nếu bạn không đủ khả năng tham gia Chương trình hoặc triển khai và sử dụng các ứng dụng mà bạn đã phát triển cho mục đích sử dụng cá nhân của riêng bạn nếu bạn không có ý định phân phối chúng thông qua App Store (trong trường hợp đó bạn có thể không cần các quyền lợi được cung cấp bởi tư cách thành viên Chương trình).


Chỉ cần FYI: Tôi đã cài đặt Xcode 7 và thử chạy trên điện thoại của mình nhưng tôi không thể có được tất cả các phụ thuộc của bản dựng, vì vậy tôi đã quay lại Xcode 6 và cuối cùng đã có thể chạy trên thiết bị của mình! Xcode 7 phải thêm một số giấy phép vào tài khoản của bạn mà Xcode 6 nhận ra :)
Mister Mister

1
Tôi mới triển khai một số ứng dụng mẫu mà tôi đã xây dựng trong vài tuần qua trên iPAD Air bằng Xcode7. Cung cấp trải nghiệm tốt hơn nhiều để thực sự kiểm tra ứng dụng của bạn mà không phải trả tiền cho đăng ký. Bài đăng này đã thực sự hữu ích. Cảm ơn các bạn.
learn_develop

1
@BoltClock Tôi cũng nghĩ bạn nên nói rõ hơn khi thay đổi này được thực hiện bởi Apple. "Bảy năm sau khi App Store ra đời" -> hầu hết mọi người có thể không nhớ khi App Store được tạo ra và không muốn tìm kiếm nó hoặc làm số học.
Sai lầm

5
Thay vì Scheme, tôi phải đến Product-> Destination. Ở đó tôi phải chọn thiết bị của mình. Sau đó, nó làm việc. Ngoài ra, hãy nhớ cho phép cài đặt các ứng dụng như vậy trên iPhone của bạn bằng cách đi tới Cài đặt -> Chung -> Hồ sơ Bạn sẽ thấy tài khoản dev của mình. Nhấn vào nó. Bạn sẽ thấy các ứng dụng được liệt kê ở đó. Chạm vào nó. Nhấn "Tin cậy (tên ở đây)"
đột biến

Swift 2 áp dụng mô hình thiết kế chức năng và sẽ sớm được mở nguồn. Xcode 7 và iOS 9 mang đến việc cung cấp thiết bị miễn phí cho các nhà phát triển sắp tới thiếu kiên nhẫn và có khả năng cách mạng. Chúng ta thực sự đang sống trong một thời đại cải cách về ý thức hệ, và thật là một thời gian để sống.
lol

82

Có một cách bạn có thể làm điều này.

Bạn sẽ cần truy cập ROOT để chỉnh sửa tệp sau.

Điều hướng đến /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdkvà mở tệp SDKSettings.plist.

Trong tập tin đó, mở rộng DefaultProperties và thay đổi CODE_SIGNING_REQUIRED tới NO, trong khi bạn đang ở đó, bạn cũng có thể thay đổi ENTITLEMENTS_REQUIRED để NOcũng có.

Bạn sẽ phải khởi động lại Xcode để các thay đổi có hiệu lực. Ngoài ra, bạn phải làm điều này cho mọi .sdk bạn muốn có thể chạy trên thiết bị.

Bây giờ, trong cài đặt dự án của bạn, bạn có thể thay đổi Code Signing Identitythành Don't Code Sign.

Ứng dụng của bạn bây giờ sẽ được xây dựng và cài đặt trên thiết bị của bạn thành công.

CẬP NHẬT:

Có một số vấn đề với SDK iOS 5.1 mà phương pháp này có thể không hoạt động chính xác như nhau. Bất kỳ cập nhật nào khác sẽ được liệt kê ở đây khi chúng có sẵn.

CẬP NHẬT:

Bạn có thể tìm thấy đường dẫn chính xác SDKSettings.plistvới xcrun.

xcrun --sdk iphoneos --show-sdk-path

Vị trí SDKSinstall.plist mới cho SDK iOS 5.1:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/SDKSettings.plist


9
Điều này sẽ xây dựng một ứng dụng chưa ký, nhưng bạn sẽ cài đặt / chạy nó như thế nào trên một thiết bị không jailbreak?
David Gelhar

4
Nó có thể cài đặt nhưng nó sẽ không bao giờ mở.
Domness

4
Có, kể từ iOS5 vẫn có thể. Bạn vẫn sẽ cần ldidphải giả mạo mã ký nhị phân của bạn. code.google.com/p/networkpx/doads/detail?name=ldid
WrightsCS

7
OP đã yêu cầu một giải pháp không
bẻ khóa

8
Hãy xem xét làm sạch câu trả lời này. Câu trả lời tự đề cập không có gì về việc ký mã giả ldid. Trong các bình luận của bạn, bạn đưa ra một nhận xét nói rằng ldidkhông cần thiết phải đăng nhập và trong một bình luận khác, bạn nói rằng đó là. Bạn cũng nói rằng câu trả lời này không liên quan gì đến jailbreak, nhưng tôi khá chắc chắn là có. Bẻ khóa cho phép nhị phân chạy mà không có chữ ký hợp lệ . Nếu ứng dụng của bạn chưa được ký hoặc giả mạo đã ký với ldid, nó sẽ không chạy trên thiết bị iOS chứng khoán ... trừ khi bạn đang làm một việc khác mà bạn chưa mô tả ở đây.
Nate

55

Với Xcode 7, bạn không còn cần phải có tài khoản nhà phát triển để kiểm tra ứng dụng của mình trên thiết bị :

nhập mô tả hình ảnh ở đây

Kiểm tra nó ở đây .

Xin lưu ý rằng đây là hỗ trợ chính thức của Apple, vì vậy không cần thiết bị bẻ khóa hoặc thử nghiệm trên trình giả lập, nhưng bạn sẽ phải sử dụng Xcode 7 (hiện đang ở giai đoạn thử nghiệm tại thời điểm đăng bài này) hoặc mới hơn.

Tôi đã triển khai thành công một ứng dụng cho iPhone của mình mà không cần tài khoản nhà phát triển. Bạn sẽ phải sử dụng tài khoản iCloud của mình để giải quyết các vấn đề về hồ sơ cung cấp. Chỉ cần thêm tài khoản iCloud của bạn và chỉ định nó trong danh sách thả xuống Nhóm (trong menu Danh tính ) và nút Khắc phục sự cố sẽ làm phần còn lại.


CẬP NHẬT:

Một số người đang gặp vấn đề với iOS 8.4 , đây là cách khắc phục .


Đây là bản chính thức, vẫn ở chế độ beta
Fadi Obaji

Có ai quản lý để sử dụng tính năng mới này? Không làm việc cho tôi
Daniil

Đã làm cho tôi. Bạn đang sử dụng XCode 7?
Roberto

Có hướng dẫn nào không? Biên dịch ứng dụng pythonista cho iPad của tôi
Luke Taylor

Các định danh bó phải là gì?
Luke Taylor

12

Tôi chưa bao giờ thử, nhưng thực hiện tìm kiếm google, Jailcoder trông giống như một giải pháp. Vấn đề là thiết bị cần phải được jailbreak. Nếu bất cứ ai thử điều này, xin vui lòng bình luận và cho chúng tôi biết làm thế nào nó hoạt động.


2
Làm việc hoàn hảo cho tôi. Điều khó chịu duy nhất là họ muốn bạn chấp thuận bổ sung một số chứng chỉ vào móc khóa mà không cho bạn biết chính xác những gì họ đang làm. Mặc dù vậy, chúng trông giống như khi bạn thử làm điều này như một quy trình thủ công. Nó khá liền mạch. Tôi đã chuyển từ bản cài đặt Xcode sạch sang một trong những ứng dụng chạy trên iPhone của tôi trong vòng chưa đầy 5 phút. Tôi đang chạy Xcode 4 & iOS 5.0.1 Jailbroken.
Stone Mason

Tuyệt quá! cảm ơn vì đã trả lời lại @ cool_me5000. Kinh nghiệm của bạn với nó sẽ giúp những người khác muốn thử. Tôi sẽ kiểm tra nó một ngày nào đó.
Firula

Điều này đã lỗi thời và không giải quyết được yêu cầu đặt ra trong câu hỏi, để làm điều này mà không cần bẻ khóa.
dgeske

8

Chuyển đến Cài đặt bản dựng , bên dưới Ký mã , đặt Nhận dạng ký mãNhà phát triển & hồ sơ cung cấp iOSTự động .

Chọn thiết bị của bạn (hiện có thể nhìn thấy) từ danh sách thả xuống và chạy ứng dụng của bạn.

nhập mô tả hình ảnh ở đây



2

chỉ thử nghiệm JailCoder www.jailcoder.com và tôi có thể chạy và gỡ lỗi trên các thiết bị jailbroken. Bạn chỉ cần một bản cài đặt xCode mới chưa được xử lý, nếu không, chỉ cần gỡ cài đặt và cài đặt lại xCode và chạy JailCoder


1

Thật đáng để áp dụng cho chương trình dành cho nhà phát triển của Apple. Bạn sẽ có thể sử dụng cung cấp đặc biệt để phân phối ứng dụng của mình cho người kiểm tra và thiết bị thử nghiệm. Bạn được phép thêm 100 thiết bị cung cấp đặc biệt vào chương trình nhà phát triển của mình.


17
Nó sẽ có giá trị một xô, chắc chắn. Nhưng 99 đô? Lần cuối cùng tôi trả cho ai đó 99 đô để cho tôi cài đặt chương trình tôi đã viết lên máy của mình là ... không bao giờ. Và tôi đã viết rất nhiều chương trình và sở hữu rất nhiều máy móc.
Sean Worle

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.