2012-08-30 33 views
13

Chúng tôi đang sử dụng TestFlight để gửi các phi công của ứng dụng của chúng tôi.Chỉ gặp sự cố trên Testflight

Có một phần của ứng dụng đang gặp sự cố và chúng tôi gặp rất nhiều sự cố khi tái tạo sự cố. Mã của họ khá đơn giản.

Nó chỉ ra rằng những người dùng có ứng dụng thông qua TestFlight sẽ gặp sự cố, trong khi nếu bạn xây dựng ứng dụng và cài đặt ứng dụng bằng IDE thì nó không bị lỗi!

Bất cứ ai cũng có ý tưởng về những gì có thể gây ra điều này?

Bất kỳ ý tưởng nào về cách giải quyết? Chúng tôi không muốn ngừng sử dụng TestFlight.

+0

có bất kỳ thông tin nào về các khu vực hỗ trợ kiểm tra không? – Jessedc

+0

thú vị, không bao giờ gặp vấn đề trong triển khai thí điểm của chúng tôi với testflight. bạn đang sử dụng bất kỳ API testflight nào trong mã của mình, như là các trạm kiểm soát hay một cái gì đó? – NDY

+3

Đảm bảo bạn xây dựng ứng dụng của mình ở chế độ Phát hành trên máy tính chứ không phải Gỡ lỗi. Nó chỉ có thể gặp sự cố trong chế độ Phát hành –

Trả lời

10

Đảm bảo xây dựng ứng dụng của bạn ở Chế độ phát hành không có trong Gỡ lỗi. Ứng dụng chỉ có thể gặp sự cố khi phát hành.

+0

giúp sử dụng thiết bị của tôi thay vì testflight nhưng cách khắc phục điều này? – Dude

5

Điều đầu tiên tôi muốn thử là lập bản đồ theo dõi ngăn xếp ngăn xếp để hoạt động tên trong ứng dụng của bạn. Điều này có thể mang lại thông tin chi tiết hữu ích về bản chất của sự cố:

  1. Ngay sau khi báo cáo sự cố được yêu cầu nhật ký sự cố. Điều này có thể thu được thông qua trình tổ chức của Xcode hoặc nếu đó không phải là tùy chọn, nó có thể được chụp màn hình từ Cài đặt của iPhone -> Chung -> Giới thiệu -> Chẩn đoán & Cách sử dụng -> Chẩn đoán & Dữ liệu sử dụng. Cuộn đến tên ứng dụng hoặc phần LatestCrash-AppName.plist.
  2. Mặc dù bạn có thể trong lý thuyết tượng trưng cho một vụ tai nạn, tôi tìm thấy các thủ tục được mô tả dưới đây một cách dễ dàng để có được các biểu tượng từ ngăn xếp. Chuyển đổi tất cả các địa chỉ ngăn xếp cho chuỗi bị lỗi thành tên phương thức.
  3. Tùy chọn yêu cầu syslog iDevice. Điều này có thể bao gồm các thông báo lỗi xác nhận cũng là vô giá. Lưu ý rằng điều này nên được thực hiện càng nhanh càng tốt vì nhật ký hệ thống chỉ chứa quá nhiều mục trước khi chúng bị loại bỏ. Bạn có thể sử dụng tổ chức hoặc dòng cmd idevicesyslog để có được điều này.

Ký hiệu thủ công: Điều này sẽ hoạt động miễn là các bản dựng của bạn có thông tin gỡ lỗi.

  1. Lấy _exact_same_ .ipa đã bị lỗi. Nếu bạn không lưu nó, bạn có thể tải xuống từ thiết bị bằng cách sử dụng iFunBox hoặc tiện ích dòng ideviceinstaller cmd.
  2. Giải nén .ipa
  3. Chạy lệnh sau vào file thực thi (Payload/AppName.app/AppName):

    otool -TV AppName.app | C++ filt> listing.asm

  4. Đợi trong khi bước trước đó hoàn tất (có thể mất một lúc). Tệp listing.asm được tạo sẽ dài vài megabyte.

  5. Sử dụng trình chỉnh sửa có thể xử lý danh sách tìm kiếm tệp lớn.đối với các địa chỉ được liệt kê trong theo dõi ngăn xếp. Lưu ý rằng các địa chỉ có thể là một vài byte tắt (thường chỉ 3 hoặc nhiều byte phía trước). Ngoài ra, các địa chỉ không được tìm thấy trong listing.asm chỉ ra địa chỉ trong thư viện iOS. Bỏ qua những người ngay bây giờ.

Tất nhiên, nếu bạn có thể biểu tượng, bạn có thể bỏ qua quy trình này.

Gỡ lỗi may mắn!

+0

Xin chào, Yeh, chúng tôi đang tượng trưng qua Testflight - tải lên dSYM – daidai

+0

Dấu vết ngăn xếp có biểu tượng của chuỗi bị lỗi nói gì? Đó là thông tin vàng. – Blanka

0

Chúng tôi gặp sự cố tương tự. Vấn đề với chúng tôi là thư viện tĩnh.Khi chúng tôi xây dựng ứng dụng từ đầu và đã đi đến testflight, nó đã bị lỗi nhưng từ IDE nó không phải. Sự cố là do các thư viện tĩnh không được đưa vào khi xây dựng, nhưng đã được đưa vào nếu tôi kết nối trực tiếp iPad và sử dụng XCode để cài đặt.

Một xét nghiệm đơn giản sẽ chứng minh điều này: -

1.) Thay vì xây dựng từ IDE, tạo một file .app và sau đó tải nó thông qua iTunes và kiểm tra xem bạn đang nhận được sự sụp đổ.

Chúng tôi đã làm việc này bằng cách tạo .iPA theo cách thủ công, đó là tạo .app sau đó tạo thư mục Tải trọng và đặt .app trong thư mục đó cùng với info.plist.

Sau đó mọi thứ bắt đầu hoạt động trong Testflight.

+0

bạn có đang sử dụng tập lệnh xây dựng tự động không? Tôi nghĩ rằng tôi đang gặp vấn đề tương tự – alemangui

+0

Không, chúng tôi đã không sử dụng tập lệnh tạo tự động. Lỗi này cũng rất lạ đối với chúng tôi, nhưng sau khi chúng tôi nhận được giải pháp cho tất cả các testflight của chúng tôi được xây dựng với các thư viện tĩnh, chúng tôi đã sử dụng phương thức trên. – VikrantY

Các vấn đề liên quan