Làm cách nào tôi có thể cài đặt tệp .ipa vào trình giả lập iPhone của mình


164

Tôi có một trình giả lập iphone chạy trên máy Mac.

Tôi có một tệp .ipa, bạn có thể vui lòng cho tôi biết làm thế nào tôi có thể cài đặt nó trên trình giả lập không?

Câu trả lời:


136

Bạn không thể. Nếu nó được tải xuống qua cửa hàng iTunes, nó được xây dựng cho một bộ xử lý khác và sẽ không hoạt động trong trình giả lập.


12
Tôi sẽ nói thêm rằng cách duy nhất để khởi chạy một ứng dụng iPhone trong trình giả lập là tự biên dịch nó từ XCode với Trình mô phỏng là mục tiêu hoạt động.
Alex Wayne

1
bạn có thể chạy tệp ứng dụng của dự án trong trình giả lập.
humblePilgrim

3
Có vẻ như ai đó dưới đây đã có một số thành công làm điều này. hackish, nhưng nếu nó hoạt động thì điều này rất hữu ích để biết.
Randy L

13
Bất cứ ai tuyên bố đã chạy các ứng dụng iPhone trên Trình mô phỏng đều bị ảo tưởng. Trình giả lập iPhone không phải là trình giả lập - nó không thể chạy mã ARM.
duskwuff -inactive-

16
Nó sẽ hiển thị biểu tượng trong trình giả lập bằng kỹ thuật bên dưới, tuy nhiên, ứng dụng của chúng tôi gặp sự cố ngay lập tức khi chạy.
Matt Hudson

104

Tôi tìm thấy một tệp .ipa mà tôi muốn sử dụng iTunes và sao chép nó vào máy tính để bàn của tôi.

Sau đó tôi đã thay đổi phần mở rộng thành .zipvà trích xuất nó.

Tiếp theo tôi tìm thấy thư mục Payload và chuyển ứng dụng bên trong sang máy tính để bàn của tôi.

Cuối cùng tôi đã chuyển ứng dụng đó sang thư mục ứng dụng giả lập iPhone của mình tại:

  • HD
  • > Ứng dụng
  • > Xcode.app (nhấp chuột phải - Hiển thị nội dung gói)
  • > Nội dung
  • > Nhà phát triển
  • > Nền tảng
  • > iPhoneSimulator.pl platform
  • > SDK
  • > iPhoneSimulator6.0.sdk
  • > Ứng dụng

Hi vọng điêu nay co ich! (Lưu ý: Một số ứng dụng bị sập thường xuyên hơn các ứng dụng khác.)


28
@DataGreed: Đã chuyển sang HD> Ứng dụng> Xcode.app (nhấp chuột phải - Hiển thị nội dung gói)> Nội dung> Nhà phát triển> Nền tảng> iPhoneSimulator.pl platform> SDK> iPhoneSimulator6.0.sdk> Ứng dụng
Richard Poole

7
Đường dẫn cho XCode 4.3 trở lên trên OSX nằm ở vị trí sau (lưu ý rằng phần 5.1 có thể khác trên máy của bạn) 1.sdk / Ứng dụng
Brad

14
ứng dụng phân tán trong trình giả lập .. nhưng nó bị sập trong cả iOS6 và iOS7
Sri

1
@DataGreed: Bạn đã đề cập đến vị trí chính xác. Câu trả lời được đề cập bởi Keeton đã giúp tôi cài đặt ứng dụng LinkedIn nhưng nó bị lỗi. Bất kỳ sửa chữa?
Jayprakash Dubey

3
Tôi xác nhận phương thức cài đặt này sẽ hoạt động ngay cả trong tháng 3 năm 2016. (Mặc dù đã bị sập, nhưng đã được cài đặt)
jeet.chanchaw 11/03/2016

66

Trong Xcode 6+ và iOS8 +, bạn có thể thực hiện các bước đơn giản bên dưới

  1. Dán tệp .app trên máy tính để bàn.
  2. Mở terminal và dán các lệnh bên dưới:

    cd desktop

    xcrun simctl install booted xyz.app

  3. Mở trình giả lập iPhone và nhấp vào ứng dụng và sử dụng

Đối với các phiên bản bên dưới iOS 8, hãy thực hiện các bước đơn giản sau.

Lưu ý: Bạn sẽ muốn đảm bảo rằng ứng dụng của bạn được xây dựng cho tất cả các kiến ​​trúc, Trình mô phỏng nằm x386trong Cài đặt bản dựng và Build Active Architecture Onlyđược đặt thành No.

  1. Đường dẫn: Thư viện-> Hỗ trợ ứng dụng-> Trình mô phỏng iPhone-> 7.1 (hoặc phiên bản khác nếu bạn cần) -> Ứng dụng
  2. Tạo một thư mục mới với tên của ứng dụng
  3. Đi vào trong thư mục và đặt tệp .app tại đây.

23
Lệnh này đã hoạt động nhưng ứng dụng gặp sự cố vì nó không được xây dựng cho trình giả lập. :(
JamesDeHart

5
Nhận "Không có thiết bị nào được khởi động."
Vijay Sharma

7
Điều này hữu ích cho bất kỳ ai đã xây dựng một ứng dụng trên trình giả lập và muốn chạy nó trên một trình giả lập khác. Lưu ý câu hỏi ban đầu là về tệp
.ipa

5
Nếu bạn có .ipa, chỉ cần đổi tên thành .zip và giải nén nó để lấy .app
delrox

3
@Vijay Tôi phải tự khởi động Trình mô phỏng iPhone trước bước 2, nhưng nếu không thì điều này vẫn hoạt động tốt.
Glorfindel

35

Đối với Xcode 9.4.1 và Trình mô phỏng mới nhất:

Hy vọng câu trả lời của tôi được nhìn thấy ở đây vì điều này khiến tôi mất một thời gian để tìm ra nhưng tôi chỉ làm cho nó hoạt động.

Trước hết bạn cần xây dựng và chạy Ứng dụng trên trình giả lập của mình. Sau đó, bạn mở Trình giám sát hoạt động . Nhấp đúp vào tên Ứng dụng của bạn để tìm nội dung của nó.

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

Trong màn hình tiếp theo, mở tab Mở tệp và cổng và tìm dòng với MyAppName.app/MyAppName.

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

Sao chép liên kết nhưng đảm bảo dừng tại MyAppName.app . Đừng sao chép đường dẫn theo nó.

Điều khiển bấm vào biểu tượng công cụ tìm và chọn Chuyển đến thư mục .

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

Dán đường dẫn và nhấn enter. Bạn sẽ thấy tệp MyAppName.app của bạn. Sao chép nó vào Desktop và zip nó. Di chuyển nó đến máy tính thứ 2 bạn muốn và giải nén tập tin. Xây dựng một dự án ngẫu nhiên để mở một mô phỏng.

Cuối cùng: Kéo và thả Ứng dụng từ Bàn làm việc vào Trình mô phỏng theo nghĩa đen. Bạn sẽ thấy cài đặt và Ứng dụng mở ra và không gặp sự cố.

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


7
downvote mà không có bình luận cho một câu trả lời hoạt động: D awesome
David Seek

Hoạt động để chuyển dev xây dựng cho các mô phỏng khác!
Alex Pelletier

1
@AlexPelletier không phải là điểm của những gì chúng ta đang nói ở đây? xD
David Seek

33

Bạn không thể chạy tệp ipa trong trình giả lập vì tệp ipa được biên dịch cho kiến ​​trúc ARM của điện thoại, không phải kiến ​​trúc x86 của trình giả lập.

Tuy nhiên, bạn có thể trích xuất một ứng dụng được cài đặt trong trình giả lập cục bộ, gửi cho người khác và để họ sao chép nó vào trình giả lập trên máy của họ.

Trong thiết bị đầu cuối, gõ:

open ~/Library/Application\ Support/iPhone\ Simulator/*/Applications

Điều này sẽ mở tất cả các thư mục ứng dụng của tất cả các trình giả lập bạn đã cài đặt. Mỗi ứng dụng sẽ nằm trong một thư mục có tên thập lục phân ngẫu nhiên. Bạn có thể tìm ra ứng dụng của mình bằng cách nhìn vào bên trong chúng. Khi bạn đã tìm ra cái nào bạn muốn, nhấp chuột phải vào nó và chọn "Nén ..." và nó sẽ tạo một tệp zip mà bạn có thể dễ dàng sao chép sang máy tính khác và giải nén đến một vị trí tương tự.


2
Trên iOS 8, nó đã được chuyển sang từng ứng dụng thiết bị: ~ / Library / Developer / CoreSimulator / Devices / 594C6B4D-AB19-479B-A047-240361C51D95 / data / Application / Soopen ~/Library/Developer/CoreSimulator/Devices/*/data/Applications
CC.

Hoặc, bạn có thể trích xuất nó từ một trình giả lập của mình, khởi chạy một trình giả lập khác (chuyển đổi phiên bản HĐH) và sau đó cài đặt nó vào đó.
Alex Zavatone

4
Vì iOS 10, bạn phải sao chép cả hai thư mục ứng dụng có tên thập lục phân từ các vị trí sau: ~/Library/Developer/CoreSimulator/Devices/*/data/Containers/Data/Application/ ~/Library/Developer/CoreSimulator/Devices/*/data/Containers/Bundle/Application/Nếu không, Ứng dụng sẽ không hiển thị trong trình giả lập.
Macucula

31

CẬP NHẬT: Đối với Xcode 8.0 trở lên, bạn cần làm theo các bước dưới đây:

  1. Tải xuống ứng dụng từ iTunes
  2. Chọn ứng dụng đã tải xuống, nhấp chuột phải vào chương trình tìm
  3. Sao chép .ipatập tin vào Desktop, đổi tên nó thành.zip tập tin
  4. Giải nén .ziptập tin đó và bạn sẽ nhận được thư mục có tên ứng dụng
  5. Kiểm tra thư mục đó bạn sẽ tìm thấy apptệp trong thư mục Payload , sao chép apptệp này

  6. Đi đến ~/Library/Developer/CoreSimulator/Devices

FYI: Librarythư mục được ẩn theo mặc định trong mac, bạn có thể xem tệp ẩn bằng lệnh bên dưới.

defaults write com.apple.finder AppleShowAllFiles YES;
killall Finder /System/Library/CoreServices/Finder.app

Bây giờ ở đây bạn sẽ thấy nhiều thư mục có tên thập lục phân dài, tất cả đều là giả lập.

Để tìm trình giả lập mong muốn của bạn, hãy sắp xếp các thư mục này bằng cách sử dụng "Sắp xếp theo> Ngày sửa đổi".

Chọn tập tin giả lập đó và đi đến vị trí bên dưới.

  1. <HEXADECIMAL-SIMULATOR-STRING>/data/Containers/Bundle/Application/
  2. Tạo tên thư mục mới với <download-app-name>và dán apptệp trong thư mục đó
  3. Mở Terminal và chạy bên dưới lệnh để cài đặt ứng dụng này

    xcrun simctl install booted <APP_FILE_PATH>

Ví dụ <APP_FILE_PATH>sẽ giống như dưới đây:

~/Library/Developer/CoreSimulator/Devices/<HEXADECIMAL-SIMULATOR-STRING>/data/Containers/Bundle/Application/<APP_NAME>

2
Bạn có thể sử dụng xcrun simctl listđể tìm trình giả lập và mã
Paulo Amaral

3
Điều này có vẻ hiệu quả, nhưng đường dẫn ứng dụng ví dụ của bạn cần a / sau dấu ~ ở đầu và đường dẫn cần đi đến tệp .app, không chỉ thư mục chứa nó.
emery

1
Nếu bạn muốn tìm trình giả lập hiện đang chạy, bạn có thể sử dụngxcrun simctl list | grep Booted
cjbarth

1
Làm thế nào điều này có thể làm việc đáng tin cậy cho bất kỳ ứng dụng tải về? vì chỉ có nhị phân cánh tay là bắt buộc, xcode sẽ làm gì khác để làm cho nó hoạt động? trừ khi bạn chỉ dành cho các ứng dụng mà bạn có tất cả tài sản ban đầu để nhắm mục tiêu lại?
whitneyland

19

Trước hết, IPA thường chỉ có các lát ARM vì App Store hiện không chấp nhận các lát mô phỏng trong tải lên.

Thứ hai, kể từ Xcode 8.3, bạn có thể kéo và thả một .appgói vào cửa sổ Trình mô phỏng và nó sẽ được cài đặt. Bạn có thể tìm thấy ứng dụng trong thư mục sản phẩm xây dựng của bạn~/Library/Developer/Xcode/DerivedData/projectname-xyzzyabcdefg/Build/Products/Debug-iphonesimulator nếu bạn muốn lưu nó hoặc phân phối nó cho người khác.

Để cài đặt từ dòng lệnh sử dụng xcrun simctl install <device> <path>.

devicecó thể là UUID của thiết bị, tên của nó hoặc bootedcó nghĩa là thiết bị hiện đang khởi động.


2
Có, bạn có thể kéo và thả .apptệp nhưng điều đó không sao chép mọi thứ mà Trình mô phỏng cần để chạy. Ứng dụng tôi đang làm việc chỉ với sự cố ngay lập tức. Xcode v. 8.3.3
Matthew Poer

5
Nó, theo định nghĩa, bao gồm tất cả mọi thứ cần thiết. Khi Xcode cài đặt một ứng dụng trong Trình mô phỏng, chúng ta sẽ chuyển một đường dẫn đến .apptệp và đó là những gì được cài đặt. Ứng dụng của bạn bị sập vì một lý do khác.
Nga

6

Bạn có thể chạy tệp ứng dụng của dự án trong trình giả lập - không phải tệp .ipa.

Bạn có thể lấy nó từ:

Libraries-->Applicationsupport-->iphone simulator-->4.3(its ur simulator version)-->applications-->sau đó bạn có thể thấy nhiều tệp như 0CD04F....tìm ra tệp ứng dụng của mình thông qua việc mở nó.

Bạn có thể sao chép tệp vào hệ thống của mình (vị trí giả lập hệ thống mà bạn cần chạy) Libraries-->Applicationsupport-->iphone simulator-->4.3(its your simulator version)-->applications-->

Sau đó mở trình giả lập 4.3 (phiên bản giả lập của bạn nơi bạn đã dán). Bạn có thể thấy ứng dụng được cài đặt ở đó.


Bắt đầu từ những người khác:

Hãy nói với họ để tìm hiểu Libraries-->Applicationsupport-->iphone simulator-->4.3(its ur simulator version)-->applications-->sau đó bạn có thể thấy nhiều tệp như 0CD04F....từ hệ thống của họ và nhận tệp đó từ họ.

Sau khi họ có tệp, vui lòng sao chép và dán tệp vào hệ thống của bạn `Thư viện -> Hỗ trợ ứng dụng -> giả lập iphone -> 4.3 (phiên bản giả lập của bạn) -> ứng dụng -> (dán tệp vào đây ).

Sau đó, bạn có thể thấy ứng dụng được cài đặt trong trình giả lập hệ thống của mình và bạn có thể chạy nó sau khi nhấp vào tệp.


5

Sao chép từ đây:
- Chạy ứng dụng trong Xcode. - Chọn Finder đi tới và nhấp vào chọn Thư viện Thư viện / Hỗ trợ ứng dụng / Trình mô phỏng iPhone / 7.0.3-64 / Ứng dụng - Chọn thư mục 32 bit Sao chép ứng dụng của bạn.

Dán vào đây:
- /Appluggest/Xcode-Beta.app/Contents/Developer/Plevelops/iPhoneSimulator.pl platform / Developer / DDKs / iPhone Simulator. SDK / Ứng dụng
- Dán ở đây và chạy trình giả lập.


4

Với Xcode 6:

Rất có thể xây dựng và cài đặt trên một trình giả lập.

Tôi đã làm điều đó bằng cách sao chép cấu hình gỡ lỗi (tôi gọi nó là SimRelease cho ví dụ của tôi bên dưới) trong cài đặt dự án. Tôi đã thay đổi kiến ​​trúc thành i386 và x86_64 (không chắc điều này cần thiết như thế nào), nhưng sự khác biệt chính để thay đổi giữa cấu hình bản sao được sao chép là bản dựng cho kiến ​​trúc hoạt động được đặt thành NO. Sau đó, một vài công cụ dòng lệnh đơn giản sẽ làm phần còn lại!

xcodebuild -scheme YOUR_SCHEME -configuration SimRelease -sdk iphonesimulator8.1

Tùy thuộc vào nơi bạn có bộ DeruredData, bạn cần tìm thư mục .app xuất ra. Khi bạn đã tìm thấy nó, bạn chỉ cần cài đặt nó trên bất kỳ thiết bị giả lập nào. Để tìm Xcode mở của thiết bị UUID và đi tới Window-> Thiết bị bạn sẽ thấy danh sách các trường hợp thiết bị và bạn có thể lấy UUID. Đối với một tập lệnh tầm thường, bạn có thể lấy tất cả chúng từ: ~ / Library / Developer / CoreSimulator / Devices / và cài đặt trên mọi thiết bị.

Từ đó, lệnh đơn giản để cài đặt trên thiết bị là:

xcrun simctl cài đặt DEVICE_ID APP_FOLDER_LOCATION

Đây là tập lệnh shell đơn giản để tải ứng dụng và cài đặt nó trên mọi thiết bị:

app_dir=$1
current_dir=$(pwd)
cd ~/Library/Developer/CoreSimulator/Devices/
devices=$(ls -d */)
cd "$current_dir"
for device in $devices
do
    device_id=${device%/}
    xcrun simctl install "$device_id" "$app_dir"
done

Hi vọng điêu nay co ich! Mất một lúc để tìm ra cách tốt nhất để làm điều đó.


đoạn script này ngắn hơn: xcrun simctl cài đặt đã khởi động APP_FILE_PATH Nhưng khi cài đặt ứng dụng vào trình giả lập, ứng dụng không thể chạy
Đông Hà

4

Đối với Xcode 10, đây là một cách dễ dàng giúp tôi gỡ lỗi IPA (hồ sơ phát triển)

  1. Giải nén IPA để lấy thư mục Payload.
  2. Trong thư mục Payload là ứng dụng thực thi.
  3. Kéo và thả ứng dụng vào một trình giả lập mở. (Bạn có thể thấy nút thêm màu xanh lá cây khi bạn kéo nó qua trình giả lập)

Nó nên cài đặt ứng dụng đó trên trình giả lập đó.


Hoạt động với tôi, tôi đã thay đổi tên của "my-app.ipa" thành "my-app.ipa.zip" và sau đó tôi đã giải nén nó bằng ứng dụng Finder macos. Nếu bạn muốn cài đặt ứng dụng bằng thiết bị đầu cuối:xcrun simctl install "simulator-name" /path/to/my-app.app
Alex Buicescu

0

Bước để chạy trong trình giả lập khác nhau mà không cần bất kỳ mã repo nào: -

Trước tiên hãy tạo một .app bằng cách xây dựng dự án của bạn (trong thư mục dự án trong Xcode) và dán nó vào một vị trí thích hợp (Xem pic để rõ hơn)

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

  1. Tải xuống Xcode
  2. Tạo một dự án demo và Bắt đầu giả lập mà bạn muốn chạy ứng dụng.
  3. Sao chép tệp .app ở vị trí cụ thể (ví dụ: - Máy tính để bàn).
  4. cd Desktop và Chạy lệnh (xcrun simctl cài đặt appName.app đã khởi động),
  5. Ứng dụng sẽ được cài đặt trong trình giả lập khởi động cụ thể.
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.