2015-02-17 15 views
24

Tôi đã tạo một ứng dụng nhanh chóng và thử nghiệm nó rộng rãi bằng cách sử dụng iPhone 6, iPhone 6 plus và iPhone 5 thiết bị và tất cả các mô phỏng được cung cấp trong Xcode. Ứng dụng chạy tốt và không bị lỗi khi tải lên cục bộ. (iOS 8)App Crashes Only On Testflight Build

Cuối cùng tôi đã gửi một bản dựng cho Testflight. Ứng dụng luôn gặp sự cố ở cùng một vị trí sau khi tải xuống ứng dụng thông qua bản dựng Testflight.

Có sự cố đã biết khi các bản dựng lên được tải lên chạy khác với các bản dựng được tạo cục bộ không? Và làm cách nào tôi có thể gỡ lỗi vấn đề với bản dựng Testflight?

+0

Đã xảy ra sự cố tương tự một lần. Tôi đã xóa ứng dụng trên thiết bị của mình và cài đặt lại ứng dụng đó. Điều đó đã giúp. Bạn đã thử điều đó chưa? – croX

+0

Có, tôi đã xóa mọi thứ và thậm chí đã xóa một trong các thiết bị của mình. Trên tất cả các thiết bị tải xuống ứng dụng bằng Testflight, thiết bị này gặp sự cố ở cùng một nơi. Khi tôi cài đặt bản dựng cục bộ (thông qua Xcode), nó không bao giờ bị treo. – Taylor

+0

Nếu ứng dụng gặp sự cố khi sử dụng ứng dụng, khi đó bạn có lỗi trong mã của mình.Bạn cần cung cấp một báo cáo sự cố tượng trưng cho những người khác để có thể cung cấp gợi ý về những gì đang xảy ra. – Kerni

Trả lời

3

Tôi đã giải quyết vấn đề bằng cách thay đổi tối ưu hóa trình biên dịch nhanh chóng từ fastest thành none. Tôi không chắc đây có phải là giải pháp lý tưởng lâu dài hay không, nhưng việc xây dựng không còn bị treo nữa.

49

Tôi đoán đây là vấn đề trình biên dịch nhanh chóng. Để xác minh đầu tiên đi đến Sửa Scheme sau đó thay đổi cấu hình Build để phát hành chế độ trong Run tab và sau đó cài đặt xây dựng tại địa phương. Bạn sẽ nhận biết chính xác vị trí của nó.

+11

Tôi thực sự đã giải quyết vấn đề bằng cách thay đổi tối ưu hóa trình biên dịch nhanh chóng từ nhanh nhất thành không. Tôi không chắc đây có phải là giải pháp lý tưởng lâu dài hay không, nhưng bản xây dựng không còn bị sập nữa. – Taylor

+0

Cùng một vấn đề ở đây. Làm thế nào để bạn thay đổi "tối ưu hóa trình biên dịch nhanh chóng"? – Vakas

+2

1) Thiết lập bản dựng 2) Trình biên dịch Swift - Tạo mã 3) Cấp độ tối ưu – Pugin

1

Nếu ai gặp cùng một vấn đề, đây là những gì sửa chữa của tôi là:

cuối cùng tôi nhận được vấn đề xuống một vòng lặp với một câu lệnh if, giống như này -

while(condition) 
{ 
    if (check) 
    { 
     code! 
    } 
    //There was no code here 
} 

ý rằng không có mã ở cuối vòng lặp (nơi nhận xét). Khi tôi đã thêm một đoạn mã ngẫu nhiên (trong trường hợp này, tăng biến cho đầu ra), sự cố đã dừng.

while(condition) 
{ 
    if (check) 
    { 
     code! 
    } 
    i += 1; 
    output statement 
} 

Tôi nghĩ rằng đây có phải là một lỗi biên dịch, nếu không tôi "sửa chữa" không phải là một sửa chữa gì cả. Nhưng ở đây nó là trong trường hợp nó giúp bất cứ ai khác!

+2

Không hữu ích lắm ... bạn nên làm sạch và sau đó chạy lại mã hóa dư thừa này. – nferocious76

2

Đây có thể là vấn đề liên quan đến Bitcode. Kiểm tra xem tất cả thư viện của bên thứ ba của bạn có hỗ trợ bitcode sau đó chỉ sau đó đặt bitcode thành khác được đặt thành NO.

Thực ra Bitcode là biểu diễn trung gian của chương trình được biên dịch. Các ứng dụng bạn tải lên iTunes Kết nối có chứa bitcode sẽ được biên dịch và liên kết trên App Store.

+0

trường hợp của tôi! Cảm ơn! – Bimawa

1

Thay vì i += 1; trong các vòng trống trong khi.

Tôi đã làm điều này trong sản phẩm nào của tôi trong khi Loop: RunLoop.current.run(until: Date(timeIntervalSinceNow: 1))

Và bây giờ App TestFlight không ném bom!

Thời gian ngắn hơn cũng có thể hoạt động như: RunLoop.current.run(until: Date(timeIntervalSinceNow: 0.25))

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