Làm cách nào tôi có thể triển khai ứng dụng iPhone từ Xcode sang thiết bị iPhone thật mà không cần chứng chỉ Apple 99 USD?
Làm cách nào tôi có thể triển khai ứng dụng iPhone từ Xcode sang thiết bị iPhone thật mà không cần chứng chỉ Apple 99 USD?
Câu trả lời:
Có vẻ như ứng dụng không được ký. Tải xuống ldid từ Cydia và sau đó sử dụng nó như vậy:ldid -S /Applications/AccelerometerGraph.app/AccelerometerGraph
Cũng chắc chắn rằng nhị phân được đánh dấu là thực thi: chmod +x /Applications/AccelerometerGraph.app/AccelerometerGraph
Tôi đã sử dụng kết hợp hai howtos: Jason's và alex's . Với cái thứ hai, chúng ta có lợi thế là có thể gỡ lỗi. Tôi sẽ chỉ sao chép cả hai bên dưới (và đơn giản hóa alex):
Cập nhật tháng 1 năm 2012: tính năng này vẫn hoạt động trên SDK 4.2.1 và iOS 5.0.1 - Tôi vừa thử nghiệm tất cả trên một máy tính và thiết bị mới!
Vá SDK iPhone của bạn để cho phép sử dụng chứng chỉ này:
Khởi chạy Keychain Access.app. Không có mục nào được chọn, từ menu Keychain chọn Trợ lý chứng chỉ, sau đó Tạo chứng chỉ.
Nhấp vào Tiếp tục
Nhấp vào Tiếp tục
Trống ra các Email address field.
Nhấp vào Tiếp tục cho đến khi hoàn thành .
Bạn sẽ thấy "Chứng chỉ gốc này không đáng tin cậy" . Điều này được mong đợi.
Đặt SDK iPhone để cho phép chứng chỉ tự ký được sử dụng:
sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist
Nếu bạn đã mở Xcode, hãy khởi động lại để thay đổi này có hiệu lực.
Và nếu bạn đang dùng iOS 5, thì đúng là như vậy! Thử ngay bây giờ! Nó có thể không cho phép gỡ lỗi, nhưng ứng dụng sẽ ở đó!
Tôi đã rất ngạc nhiên bởi vì như bạn biết , tôi không biết tất cả những vụ hack đó là gì! Tất cả những gì tôi đã làm là cải thiện một chút những gì tôi tìm thấy ở nơi khác, như tôi đã chỉ.
Vì vậy, vâng, toàn bộ phương pháp không còn hoạt động theo cùng một cách nữa và tôi không thể tìm thấy một phương thức mới ... Ngoại trừ việc này, sử dụng một công cụ có tên Theos nhưng tôi không thể thực hiện toàn bộ quá trình.
Cuối cùng, nếu bạn cần gỡ cài đặt nó vì bất kỳ lý do gì, hãy kiểm tra phần cuối của bài đăng này. Trong trường hợp của tôi, tôi đã phải làm vì tôi không thể hiểu tại sao toàn bộ màu xanh này toàn bộ phương pháp này đã ngừng hoạt động và tôi không thể quan tâm nữa vì chúng tôi đã có giấy phép chờ đợi từ lâu. (Số DUNS Freaking mất quá nhiều thời gian ...)
.
.
.
.
.
Trên iPhone đã bẻ khóa của bạn, hãy cài đặt ứng dụng AppSync bằng cách thêm nguồn ** http://repo.hackyouriphone.org **
Xóa các yêu cầu SDK cho ký hiệu và quyền lợi (Tôi yêu sed !):
sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
Hãy chú ý đếniPhoneOS5.0.sdk
một phần. Ví dụ: nếu bạn sử dụng SDK iOS 4.2, chỉ cần thay thế nó cho phù hợp:
sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
Kết luận loại bỏ yêu cầu thông qua vá Xcode. Điều này có nghĩa là chỉnh sửa nhị phân:
cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
printf "\xc3\x26\x00\x00" >> working
/bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
/bin/mv working iPhoneOS\ Build\ System\ Support
chmod a+x iPhoneOS\ Build\ System\ Support
Nếu bạn đã mở Xcode, hãy khởi động lại để thay đổi này (và cuối cùng) có hiệu lực.
Mở "Dự án> Chỉnh sửa cài đặt dự án" (từ menu). Nhấp vào tab "Xây dựng" . Tìm "Danh tính ký mã" và danh mục "Bất kỳ thiết bị iPhoneOS" nào trong danh sách và đặt cả hai vào mục "Không ký mã" :
Sau đó, hãy thoải mái hoàn tác bước 3. Ít nhất trong trường hợp của tôi, nó đã ổn.
Đặt Xcode thành ký mã với chứng chỉ tự ký tùy chỉnh của chúng tôi (cách thực hiện đầu tiên). Bước này có thể được bỏ qua nếu bạn không muốn gỡ lỗi:
mkdir /Developer/iphoneentitlements401
cd /Developer/iphoneentitlements401
curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
mv gen_entitlements.txt gen_entitlements.py
chmod 777 gen_entitlements.py
Cắm iPhone của bạn vào và mở Xcode. Mở cửa sổ> Sắp xếp. Chọn thiết bị từ danh sách ở phía bên trái và nhấp vào "Sử dụng để phát triển". Bạn sẽ được nhắc đăng nhập trang web cung cấp, nhấp vào hủy bỏ. Đó là để làm cho việc cung cấp hợp pháp dễ dàng hơn, nhưng không làm cho việc cung cấp bất hợp pháp trở nên khó khăn hơn.
Bây giờ bạn phải làm phần cuối cùng này cho mỗi dự án mới mà bạn thực hiện . Chuyển đến menu Project> New Build Phase> New Run Script Build Phase. Trong cửa sổ, sao chép / dán này:
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
if [ "${PLATFORM_NAME}" == "iphoneos" ]; then
/Developer/iphoneentitlements401/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";
codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"
fi
.
.
.
.
Đối với phần 1:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Info.plist.bak /Developer/Platforms/iPhoneOS.platform/Info.plist
Đối với phần 2:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
sudo mv -f iPhoneOS\ Build\ System\ Support.original iPhoneOS\ Build\ System\ Support
trong trường hợp bạn đã làm bước 3 thay vì 2, chỉ cần sửa đổi nó cho phù hợp:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
phần còn lại, chỉ là hoàn nguyên những gì bạn đã làm trên XCode và xóa /Developer/iphoneentitlements401/gen_entitlements.py
nếu bạn muốn:
sudo rm -f /Developer/iphoneentitlements401/gen_entitlements.py
The identity used to sign the executable is no longer valid. ... (0xE8008018)
Ngay cả khi tôi đặt 3650 ngày để hết hạn. Có vẻ như chính điện thoại đang kiểm tra.
Để kiểm tra ứng dụng của bạn trên thiết bị thực chứ không phải trả phí Nhà phát triển Apple (hoặc bẻ khóa thiết bị của bạn), bạn có thể sử dụng tính năng cung cấp miễn phí mới mà Xcode 7 và iOS 9 hỗ trợ.
Dưới đây là các bước được thực hiện nhiều hơn hoặc ít hơn từ tài liệu (khá tốt, vì vậy hãy đọc nó):
1. Thêm ID Apple của bạn trong Xcode
Chuyển đến XCode> Tùy chọn> tab Tài khoản> Nút Thêm (+)> Thêm ID Apple. Xem các tài liệu để được giúp đỡ nhiều hơn.
2. Nhấp vào tab Chung trong Trình điều hướng dự án
3. Chọn ID Apple của bạn từ menu bật lên Đội.
4. Kết nối thiết bị của bạn và chọn nó trong menu chương trình.
5. Nhấp vào nút Khắc phục sự cố
Nếu bạn gặp lỗi về tên gói không hợp lệ, hãy đổi nó thành tên duy nhất.
6. Chạy ứng dụng của bạn
Trong Xcode, nhấp vào nút Xây dựng và chạy.
7. Tin tưởng nhà phát triển ứng dụng trong cài đặt thiết bị
Sau khi chạy ứng dụng của bạn, bạn sẽ gặp lỗi bảo mật vì ứng dụng bạn muốn chạy không phải từ App Store.
Trên thiết bị của bạn , truy cập Cài đặt> Chung> Cấu hình> tên -Apple-ID > Tin tưởng tên -Apple-ID của bạn > Tin cậy.
8. Chạy ứng dụng của bạn trên thiết bị của bạn một lần nữa.
Đó là nó. Bây giờ bạn có thể chạy riêng của bạn (hoặc bất kỳ ứng dụng nào khác mà bạn có mã nguồn) mà không cần phải bỏ ra 99 đô la. Cảm ơn bạn, Apple, cuối cùng đã cho phép điều này.
Bạn sẽ phải bẻ khóa thiết bị của bạn.
Có một cách để triển khai các ứng dụng iPhone mà không phải trả tiền cho apple Bạn sẽ phải bẻ khóa thiết bị của mình và làm theo hướng dẫn trong http://www.alexwhittemore.com/?p=398
Không có gì tôi thấy ở bất cứ đâu cho thấy bạn có thể triển khai quảng cáo cho iPhone thật mà không cần chứng chỉ (trả tiền).
Tôi đã đi qua Nhà phát triển Apple tối qua và ở đó trong Chứng chỉ cung cấp tôi đã tìm thấy một cái gì đó như - "Thành viên nhóm ký kết". Tôi nghĩ rằng có một cách để thêm các thành viên trong nhóm vào hồ sơ trả phí. Bạn chỉ có thể yêu cầu Chủ sở hữu Id ứng dụng (trả phí) để thêm bạn làm thành viên nhóm. Tôi không chắc. Vẫn đang tìm kiếm trên đó.
Không, thật dễ dàng để làm điều này. Trong Xcode, đặt Cấu hình hoạt động thành Phát hành. Thay đổi thiết bị từ Trình mô phỏng thành Thiết bị - bất kỳ SDK nào. Nếu bạn muốn xuất trực tiếp sang iPhone, hãy kết nối nó với máy tính của bạn. Nhấn Build và Go. Nếu iPhone của bạn không được kết nối với máy tính của bạn, một thông báo sẽ xuất hiện nói rằng iPhone của bạn không được kết nối.
Nếu điều này áp dụng cho bạn: (iPhone chưa được kết nối)
Chuyển đến thư mục dự án của bạn và sau đó đến thư mục xây dựng bên trong. Chuyển đến thư mục Release-iphoneos và đưa ứng dụng vào trong, kéo và thả vào biểu tượng iTunes. Khi bạn đồng bộ hóa thiết bị iTouch của mình, nó sẽ sao chép nó vào thiết bị của bạn. Nó cũng sẽ hiển thị trong iTunes dưới dạng một ứng dụng cho iPhone.
Hi vọng điêu nay co ich!
PS: Nếu nó nói điều gì đó về chứng chỉ không hợp lệ, chỉ cần nhấp vào dự án trong Xcode, biểu tượng dự án nhỏ trong ngăn xếp tệp ở bên trái và nhấn Apple + I hoặc thực hiện Nhận thông tin từ thanh menu. Nhấp vào Xây dựng ở trên cùng. Trong phần Ký mã, thay đổi Nhận dạng ký mã - Bất kỳ thiết bị hệ điều hành iPhone nào sẽ không được ký.
Điều này thực sự phụ thuộc vào phiên bản Xcode bạn đang sử dụng vì các phiên bản khác nhau sử dụng các phương pháp khác nhau để triển khai cho iPhone của bạn mà không cần cấu hình cung cấp.
Xcode 3.2.1 là phiên bản tốt và dễ sắp xếp, nhưng chúng tôi cần biết bạn đang sử dụng phiên bản nào.
Giải pháp được đăng bởi Cawas cũng hoạt động hoàn hảo với XCode4. Tuy nhiên, có một số thay đổi đối với giao diện người dùng của IDE, vì vậy bạn cần thực hiện một số nghiên cứu để tìm Run Script :)
Trong khung nhìn Project Navigator, nhấp vào mục gốc của dự án, sau đó trong cửa sổ ở giữa, chọn Target, sau đó nhấp vào tab Build Ph Phase và ở dưới cùng bạn sẽ thấy nút Add Build Phase, nhấp và chọn Add Run Script, sau đó dán "Codeign "Kịch bản được đăng bởi Cawas.
Không có cách giải quyết. Bạn chỉ có thể quảng cáo các ứng dụng triển khai nếu chúng được đăng ký với thiết bị của bạn. Điều này ngăn bạn xây dựng cửa hàng ứng dụng của riêng bạn ..