2012-07-19 34 views
7

Tôi có ứng dụng Flash hiện có, biên dịch sang SWF và chạy trên web. Tôi đang xem xét việc chuyển đổi ứng dụng đó để hoạt động trên các thiết bị di động như iPhone/iPad.Từ ứng dụng SWF to AIR tới iOS

Tôi thấy rằng hiện có một cách để publish Adobe Air applications on mobile devices. Suy nghĩ của tôi là tại sao không convert SWF to AIR application và sau đó sử dụng ứng dụng AIR đó để xuất bản trên thiết bị di động. Nó có ý nghĩa không? Điều này thậm chí có thể hoặc doable?

Mọi người đang làm gì để chuyển đổi các ứng dụng Flash SWF hiện có của họ sang hoạt động trên thiết bị di động?

+0

Tôi nghĩ Apple cho phép điều đó. http://www.youtube.com/watch?v=_hkfOk8P79s –

+0

Tuyệt vời, chúc bạn may mắn! – doNotCheckMyBlog

+0

Tất nhiên Apple cho phép nó. – iND

Trả lời

3

Câu hỏi này chỉ là answered here, nhưng để tóm tắt mọi nội dung Flash có thể được đóng gói cho iOS hoặc thiết bị di động khác có AIR.

AIR có thể được phủ lên để Flash Professional hoặc Flash Builder, hoặc SWF của bạn có thể được đóng gói bằng cách sử dụng dòng lệnh ADT đóng gói:

  • Tải AIR 3.0 SDK.
  • Đảm bảo JRE hoặc sử dụng mã từ Flash Builder.
  • Execute adt để gói SWF của bạn đến một IPA:

    adt -package -target [ipa-test | ipa-debug | ipa-app-store | ipa-ad-hoc] 
        -keystore iosPrivateKey.p12 -storetype pkcs12 -storepass qwerty12 
        -provisioning-profile ios.mobileprovision 
        HelloWorld.ipa 
        HelloWorld-app.xml 
        HelloWorld.swf icons Default.png 
    

Điều quan trọng cần lưu ý là tất cả các mã thực thi phải nằm trong một SWF duy nhất để chạy trên nền tảng iOS. Tải trước SWF hoặc bất kỳ SWF nạp động nào thực thi mã không được hỗ trợ. Vì vậy, hãy liên kết tất cả Flash của bạn với một SWF duy nhất.

Có những cân nhắc khác, chẳng hạn như optimizing performance và xử lý nhiều độ phân giải màn hình và tỷ lệ khung hình.

Tài liệu tham khảo:

+0

Nói về tối ưu hóa hiệu suất, tôi khuyên bạn nên sử dụng SDK AIR 3.3 hiện tại vì nó hoạt động tốt hơn đáng kể so với các phiên bản trước. – AlBirdie

2

Có một vài cách để đạt được điều này:

  1. Bạn ca n tải xuống Adobe AIR SDK và theo dõi help hoặc this tutorial của chúng tôi. Phương pháp này sẽ hơi tẻ nhạt nếu bạn không thoải mái với dòng lệnh, nhưng nó có lẽ là lựa chọn mạnh mẽ nhất bởi vì bạn có thể tinh chỉnh và kiểm soát nhiều tùy chọn.

  2. Nếu bạn có tệp FLA, phiên bản Flash CS6 mới nhất sẽ cung cấp cho bạn phương tiện để tạo tệp IOS IPA dễ dàng hơn. Nếu bạn là người dùng Windows, bạn sẽ cần lấy tệp p12 cũng như tệp cung cấp di động. Adobe có tài liệu về cách thực hiện điều đó mà không cần máy Mac. Cuối cùng khi IPA của bạn đã chín muồi cho AppStore, bạn sẽ cần một máy Mac.

Hãy nhớ rằng trải nghiệm người dùng của SWF sẽ không dịch ngay lập tức cho iOS. Ví dụ: kích thước của các nút, khả năng của các điều khiển người dùng tương tác và quan trọng nhất là các sự kiện di chuột đôi khi có thể tác động bất lợi đến trải nghiệm của ứng dụng dành cho thiết bị di động.

Nhưng những vấn đề đó không liên quan gì đến SWF, vì tôi cũng đã thấy các sự cố tương tự với các ứng dụng web dựa trên HTML khác.

Chúc may mắn, tôi sẽ nói viết Flash và nó chạy ở khắp mọi nơi bao gồm iPhone/iPad thực sự là một điều tuyệt vời mà hầu hết mọi người không biết.

2

Tôi đã làm điều này chính xác trong một năm hoặc lâu hơn.

Bạn phải thiết lập chứng chỉ của mình bằng cách sử dụng móc khóa trên máy Mac và bạn phải tải ứng dụng lên từ máy Mac. Tuy nhiên, tôi không có máy Mac. . . thay vào đó, tôi thuê thời gian trên một máy Mac từ xa bằng cách sử dụng (macincloud hoặc những người khác) và sử dụng DropBox để gửi các tệp qua lại.

Tùy thuộc vào cách SWF được tạo, bạn không nhất thiết phải mua sản phẩm Adobe. Tôi sử dụng FlashDevelop, tự động thiết lập SDK Air và Flex mới nhất. Miễn là bạn có giấy phép của nhà phát triển, bạn có thể tạo ứng dụng Air từ đó và bạn cũng có thể tạo tệp IPA để tải vào iTunes (hoặc Google Play hoặc các ứng dụng khác).

Đảm bảo bạn đã đọc phản hồi @JasonSturges. Lời khuyên và liên kết tốt.

+0

Vì vậy, bạn có một cơ sở mã nào biên dịch sang SWF và ứng dụng di động không? Hay bạn có hai dòng mã, một để tạo SWF và một dòng cho ứng dụng dành cho thiết bị di động? Tôi đoán nó sẽ là sau này. –

+1

Không, đó là một cơ sở mã, nhưng có "kết thúc thay thế", bạn có thể nói. Tôi biên dịch với Flash IDE và sử dụng các điều kiện trình biên dịch ('APPDEV :: forIOS' (có thể thực sự là bất kỳ tên const hợp lệ nào) được đặt thành true hoặc false) để loại trừ các phần mã. Tôi nghĩ bạn cũng có thể làm điều này với dòng lệnh ADT ('-define = APPDEV :: forIOS, true' hoặc' -define + = APPDEV :: forIOS, true' và một số mã thiết lập trong tệp XML), nhưng chưa bao giờ đã thử nó, vì tôi cũng sử dụng khả năng grx của Flash. – iND

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