2009-12-14 28 views
9

Tôi đã đưa ra một phiên bản đặc biệt của ứng dụng cho một số người dùng. Hai trong số họ có ứng dụng chết khi khởi động trong khi một người dùng không có vấn đề gì. Tôi cũng có thể cài đặt quảng cáo mà không có vấn đề ... nhưng đó luôn là trường hợp của tôi. Một người dùng đã gửi thông tin bên dưới từ Bảng điều khiển tổ chức Xcode. Họ không tìm thấy bất kỳ bản ghi sự cố nào. Tôi không biết phải làm gì với thông tin bên dưới. Một điều nổi bật là "Quyền bị từ chối".Ứng dụng bị chết khi khởi động nhưng không báo cáo sự cố

Tôi đặt các tệp cấp phép và myapp.app vào thư mục dropbox. Sau đó, người dùng sẽ truy xuất các tệp từ cùng một vị trí. Tôi đã chạy codesign dựa vào tệp .app trong hộp kéo thả và có được kết quả hợp lệ:

codesign -vvvv myapp.app 
myapp.app: valid on disk 
myapp.app: satisfies its Designated Requirement 

Bất kỳ ai có một số ý tưởng về cách tôi có thể tìm ra lý do ứng dụng không hoạt động cho người dùng này?

Đây là đầu ra Console từ một người dùng. Họ không thể tìm thấy bất kỳ nhật ký sự cố liên quan nào:

Stats 
totalMLSITDBPostProcessing=5.31s 
commands=0.01 
misc=0.45s 
icuSort=4.41s (MLS_icu_data=0.23s, MLS_icu_sec_data=0.13, dropIdx=0.04, normalize=0.13, update_orders=1.31, tStatsICUOther1=0.02, createIndex=2.50) 
Sun Dec 13 12:35:04 unknown com.apple.launchd[1] <Error>: (UIKitApplication:com.cygen.myapp[0x8cb6]) posix_spawn("/var/mobile/Applications/4B036396-3294-4E0A-BBCC-4118E72846D4/myapp.app/myapp", ...): Permission denied 
Sun Dec 13 12:35:04 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.cygen.myapp[0x8cb6]) Exited with exit code: 1 
Sun Dec 13 12:35:04 unknown SpringBoard[24] <Warning>: Failed to spawn myapp. Unable to obtain a task name port right for pid 179: (os/kern) failure 
Sun Dec 13 12:35:04 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.cygen.myapp[0x8cb6]) Throttling respawn: Will start in 2147483647 seconds 
Sun Dec 13 12:35:04 unknown SpringBoard[24] <Warning>: Application 'myapp' exited abnormally with exit status 1 
Sun Dec 13 12:35:10 unknown springboardservicesrelay[155] <Warning>: Unable to parse property list data of length: 0 
Sun Dec 13 12:35:13 unknown com.apple.launchd[1] <Error>: (UIKitApplication:com.cygen.myapp[0x3ce5]) posix_spawn("/var/mobile/Applications/4B036396-3294-4E0A-BBCC-4118E72846D4/myapp.app/myapp", ...): Permission denied 
Sun Dec 13 12:35:13 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.cygen.myapp[0x3ce5]) Exited with exit code: 1 
Sun Dec 13 12:35:13 unknown SpringBoard[24] <Warning>: Failed to spawn myapp. Unable to obtain a task name port right for pid 182: (os/kern) failure 
Sun Dec 13 12:35:13 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.cygen.myapp[0x3ce5]) Throttling respawn: Will start in 2147483647 seconds 
Sun Dec 13 12:35:13 unknown SpringBoard[24] <Warning>: Application 'myapp' exited abnormally with exit status 1 
+0

Người dùng của bạn đang chạy phiên bản hệ điều hành và thiết bị nào? –

Trả lời

7

Phân phối đặc biệt nổi tiếng là phức tạp. Nếu bạn đã bỏ lỡ một điều, toàn bộ chuỗi bị lỗi. Dưới đây là những gì tôi có thể nghĩ đến, ngoài đầu của tôi, dựa trên thực tế là nó hoạt động cho ít nhất một trong những người dùng của bạn:

  1. Bạn có chắc chắn rằng chứng chỉ cấp phép quảng cáo di động có UDID cho những người dùng nhìn thấy nó thất bại?
  2. Những người dùng đó có chứng chỉ cũ trên thiết bị của họ không? (tức là bạn đã xóa chứng chỉ hiện có trước khi cài đặt chứng chỉ mới chưa? Cài đặt-> Chung-> Tiểu sử)
  3. Bạn có chắc chắn gói .app đã ký mã có chứa UDID cho những người dùng đó, bên trong tệp có tên embedded.mobileprovisioning không? (Bên dưới phím ProvisionedDevices)
  4. Chứng chỉ cấp phép di động đã hết hạn chưa?
  5. Chứng chỉ ký mã nhà phát triển của bạn đã hết hạn chưa?
  6. Gói ứng dụng có được đổi tên bởi người dùng trước khi cài đặt không?
  7. Bạn đã thử làm sạch trước khi thực hiện phân phối chưa?
+0

Cảm ơn. Đó là những gợi ý hay. Tôi không biết về # 3. Tôi đã thấy UDID của một người dùng không có trong tệp .app nhưng nằm trong tệp cấp phép độc lập. Tôi sẽ yêu cầu họ thử lại và sau đó làm việc với người dùng khác. Người dùng chỉ có thể thả tệp .app đã cập nhật vào iTunes hoặc họ cũng cần tệp cấp phép mà không thay đổi. Tôi đoán nếu bạn cập nhật các tập tin cung cấp, họ cần cả hai nhưng nếu bạn chỉ cập nhật các .app, họ không cần phải thả trong các tập tin cung cấp một lần nữa. – user230949

+1

Có, mọi người dùng mà bạn muốn cung cấp cho một bản dựng quảng cáo cũng phải có chứng chỉ cấp phép di động đặc biệt, với bản dựng đang được ký với cùng một chứng chỉ. Không có cách nào xung quanh đó. Nhưng bạn là chính xác, một khi người dùng có chứng chỉ và đã nói với bạn rằng họ có thể chạy một bản dựng, bạn chỉ cần gửi cho họ các bản dựng được cập nhật trong tương lai (nhưng một lần nữa, miễn là các bản dựng đó được tạo bằng cùng một chứng chỉ). –

+0

Một người dùng đã báo cáo lại rằng họ đang có trải nghiệm giống hệt nhau. Họ đã gửi đầu ra giao diện điều khiển được cập nhật và tôi thấy cùng một lỗi bị từ chối. Tôi không thể tiếp tục ping người dùng theo cách này vì lý do rõ ràng. Bạn có bất kỳ ý tưởng làm thế nào tôi có thể repro này trên thiết bị của tôi? Sau đó tôi có thể giải quyết nó. – user230949

0

Hãy thử sử dụng Tiện ích cấu hình iPhone, bản tải xuống miễn phí từ Apple. Tôi đã có cùng một vấn đề, gỡ cài đặt và cài đặt bằng cách sử dụng iPCU và bây giờ nó hoạt động hoàn hảo.

Hơi khó sử dụng, hãy thử googling để cung cấp iCPU tiểu sử. Tôi đã tìm thấy hướng dẫn chi tiết về một "blog developper của redfin".

1

Từ khóa tôi nghĩ bạn đã sử dụng là từ 'dropbox'. Tôi vừa trải qua 2 tuần cuối cùng để cố gắng phát triển ứng dụng của mình sẽ không hoạt động trên các máy khác và tôi đã làm việc đó là bởi vì tôi đã phân phối ứng dụng thông qua DropBox với việc nén nó.

Thử đặt ứng dụng vào tệp zip trước khi tải lên DropBox. Hướng dẫn người dùng tải xuống tệp zip, giải nén tệp và cài đặt ứng dụng.

Tôi đoán là DropBox đang nhồi nhét một số tệp trong gói ứng dụng.

1

Vâng, chúng tôi đã gặp sự cố tương tự với DropBox ... hãy nén tệp trước.

0

CN Dec 13 12:35:04 không xác định SpringBoard [24]: Không thể sinh ra myapp. Không thể nhận được cổng tên tác vụ ngay cho pid 179: (os/kern) thất bại

Tôi đã chiến đấu trong một thời gian, và trong trường hợp của tôi là hệ thống xây dựng của chúng tôi bằng cách sử dụng một mã zip khác thường lệ không tôn trọng nguồn tài nguyên của OSX. Tôi không biết nhiều về họ, nhưng trong ngắn hạn họ là một cấu trúc HFS để lưu trữ siêu dữ liệu thêm về một tập tin/dir được ẩn từ hầu hết các công cụ. Nén với công cụ tìm dường như hoạt động, cũng như ditto. Thông tin thêm tại đây: http://xahlee.org/UnixResource_dir/macosx.html

1

Dropbox cho tôi, được nén và hoạt động tốt.

1

Đảm bảo tệp thực thi có cùng tên trong phiên bản cập nhật. Tôi thấy nếu những thứ này không khớp, tôi nhận được thông báo lỗi chính xác giống như người hỏi. Điều này được định nghĩa trong info.plist.

Nhóm của tôi đang cố gắng mô phỏng người dùng nâng cấp phiên bản cũ của ứng dụng lên phiên bản mới. Phiên bản mới rất khác và chúng tôi đã tạo ra một dự án hoàn toàn mới với mục tiêu mới và mọi thứ. Thật không may điều này đã thay đổi tên thực thi. Thay đổi điều này trở lại bản gốc đã thực hiện công việc nâng cấp một cách hoàn hảo.

+0

Cảm ơn! Đây là trường hợp trong tình huống của chúng tôi. – zhengyue

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