Câu trả lời:
Các bước hướng dẫn sau đây để thực hiện mục đích này được lấy từ: http://iphencedevwiki.net/index.php/Xcode
Phát hiện và hành động của tôi được cung cấp theo từng bước.
1. Tạo chứng chỉ ký mã tự ký với tên là Nhà phát triển iPhone iPhone trên móc khóa Đăng nhập (mặc định) bằng cách sử dụng Keychain Access.
2. Mở /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist
(4.2 trở xuống /Developer/Platforms/iPhoneOS.platform/Info.plist
:). Bạn có thể cần sự cho phép root.
.plist
tệp cũ .3. Thay thế tất cả các lần xuất hiện của XCiPhoneOSCodeSignContext
bằng XCCodeSignContext
. Có ba trong số đó (Phiên bản XCode 3.2.4+).
4. Lưu tệp và khởi động lại Xcode.
5. Hãy chắc chắn rằng bạn có ldid trên máy Mac. Đặt một bản sao ở đâu đó, ví dụ như trong /usr/local/bin
.
/usr/local/bin
.6. Tạo tập lệnh Python ldid3.py ngay bên cạnh chương trình ldid. Làm cho nó thực thi được. Điền vào nó với:
#!/usr/bin/env python
from sys import argv
from subprocess import check_call
from os.path import basename, dirname, splitext, join
from tempfile import NamedTemporaryFile
app = argv[-1]
ldid_path = join(dirname(__file__), 'ldid')
obj_path = join(app, splitext(basename(app))[0])
if '-gta' not in argv:
check_call([ldid_path, '-S', obj_path])
else:
with NamedTemporaryFile('w+b', 0) as f:
f.write("""
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>get-task-allow</key>
<true/>
</dict>
</plist>
""")
check_call([ldid_path, '-S' + f.name, obj_path])
ldid3.py
và lưu nó trong /usr/local/bin
thư mục.chmod 777 /usr/local/bin/ldid3.py
.7. Mở iPhoneCodeSign.xcspec
. Có thể tìm thấy tệp này trong [Đối với Xcode 4.6: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/iPhoneCodeSign.xcspec
]:
8. Thay đổi mục trong tệp từ gọi codesign
đến ldid3.py
.
sudo plutil -convert xml1 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/iPhoneCodeSign.xcspec
<key>CommandLine</key><string>/usr/bin/codesign</string>
bằng <key>CommandLine</key><string>/usr/local/bin/ldid3.py</string>
.9. Lưu tệp và khởi động lại Xcode.
10. Tạo một tệp /var/mobile/tdmtanf
trên thiết bị, để bật "bỏ qua TDMTANF" của Apple trong phần cài đặt (cảnh báo: làm như vậy cũng sẽ đưa bạn vào GameCenter được đóng hộp cát).
tdmtanf
, SSH vào iPod của tôi, tải nó lên /var/mobile/
và khởi động lại iPod của tôi.Tôi mở dự án Xcode hiện tại của mình và nhấn Run. Nó hoạt động trong iOS Simulator mà không gặp vấn đề gì.
Tôi chắc chắn rằng Ký mã được thiết lập để sử dụng chứng chỉ được thiết lập ở bước 1.
Tôi xây dựng ứng dụng (Dự án> Xây dựng). Một thông điệp thành công sau đây.
Tôi lấy thư mục ứng dụng của mình TicTacToe.app
từ /Libary/Developer/Xcode/DerivedData/TicTacToe-cjgzmoxtflyegtfypsbxbuiuwxns/Build/Products/Debug-iphoneos/
và chuyển nó vào máy Windows để cài đặt vào iPod.
Trong nỗ lực cài đặt ứng dụng vào iPod của tôi, tôi kéo TicTacToe.app
vào phần ứng dụng của Tiện ích cấu hình iPhone, nhưng tôi nhận được thông báo lỗi này nói rằng ứng dụng của tôi "không phải là một ứng dụng di động hợp lệ."
Tôi cũng đã thử cài đặt ứng dụng theo cách thủ công bằng iFunbox và ứng dụng AppCake có trong Cydia. Cả hai đều thất bại.
Là một điểm thú vị, vì khi tôi đi vòng quanh, tôi nhận thấy nhiều người đề cập đến tầm quan trọng của việc này: Tôi đã cài đặt AppSync. (Xin lỗi vì ảnh chụp màn hình lớn. Nếu tôi nên gỡ nó xuống, xin vui lòng cho tôi biết!)
Vì vậy, mặc dù làm theo các hướng dẫn chặt chẽ, nhiều lần, ứng dụng của tôi không được Công cụ cấu hình iPhone nhận ra là một ứng dụng hợp lệ. Tôi không thể cài đặt ứng dụng theo cách thủ công bằng các chương trình như iFunbox hoặc ứng dụng Cydia như AppCake.
Tôi nghi ngờ ứng dụng này thực sự không hợp lệ, nhưng đã làm theo hướng dẫn cẩn thận, tôi không chắc tại sao.
Bất cứ ai cũng có thể cho tôi biết lý do tại sao ứng dụng của tôi không hợp lệ và tôi có thể làm gì để khắc phục điều này, ngoài việc ho ra tiền?
Bạn có thể kết nối thiết bị của mình và chọn Thiết bị iOS làm mục tiêu Chạy. Khi chạy, ứng dụng sẽ tự động cài đặt trên thiết bị của bạn. Hoặc bạn có thể chọn Thiết bị iOS của mình, sau đó không cần chạy Chỉ cần Xây dựng và Lưu trữ. Sau đó, phân phối ... chọn Lưu cho Doanh nghiệp hoặc Triển khai Ad-Hoc. Bạn sẽ nhận được tệp .ipa của bạn. Hy vọng nó có thể giúp bạn..
tiếp tục câu trả lời của @joncom .. bạn có thể thêm trực tiếp các tệp .app vào iPhone của mình, chỉ với một vài bước bổ sung.
.app
tập tin vào máy tính để bàn của bạn, và sau đó nén nó[yourappname].zip
thành[yourappname].ipa
GHI CHÚ:
bạn cũng có thể thực hiện việc này trực tiếp mà không cần thông qua tất cả các sửa đổi mã python mà @joncom đã đề cập .. đọc thêm tại đây