Tôi đã tạo một khung công tác iOS tùy chỉnh sử dụng Xcode 6.Và tôi đã thử nhiều tập lệnh để tạo khung phổ quát (cho trình mô phỏng và thiết bị). Nhưng không ai trong số họ làm việc cho tôi. cách để tạo ra một khuôn khổ tùy chỉnh phổ biến dành cho iOS trong Xcode 6.Phổ biến iOS framework bằng cách sử dụng Xcode 6.4
Trả lời
để hợp nhất hai tập tin nhị phân thành một nhị phân phổ thông qua các thiết bị đầu cuối:
Đầu tiên biên dịch thiết bị nhị phân, sau đó biên dịch nhị phân giả riêng.
Tìm cả hai tệp nhị phân. Nếu bạn muốn kiểm tra mà kiến trúc được biên dịch vào mỗi bạn có thể chạy lệnh này trong terminal: sản lượng
lipo -info /path/to/binary
Ví dụ:
Kiến trúc trong file chất béo:/path/to/nhị phân là: ARMv7 arm64
Bây giờ bạn có thể kết hợp cả hai binari es thành một:
lipo -create /path/to/simulator/binary /path/to/device/binary -output /path/to/output/binary
Các nhị phân đầu ra sẽ có cả hai mô phỏng và thiết bị kiến trúc.
Để xây dựng và phân phối các khuôn khổ:
Trong dự án khuôn khổ:
- Đặt thiết cho mục tiêu xây dựng (và cho dự án, chỉ để được an toàn) 'Xây dựng chỉ Kiến trúc tích cực 'KHÔNG. Chúng tôi muốn xây dựng tất cả các kiến trúc để nhị phân có thể được sử dụng trong tất cả các thiết bị được hỗ trợ, không chỉ là thiết bị mà chúng tôi đã tạo để xây dựng. Tùy thuộc vào mục tiêu triển khai của bạn (và do đó, các thiết bị bạn hỗ trợ), bạn có thể cần phải thêm kiến trúc ARMv7s
- Xây dựng cho trình mô phỏng và xây dựng cho thiết bị, điều này sẽ tạo hai khung trong thư mục dữ liệu có nguồn gốc.
Trong Terminal:
- Tìm đường dẫn dữ liệu có nguồn gốc cho dự án. Tìm thư mục 'Xây dựng-> Sản phẩm'. Bên trong nó phải là '-iphoneos' và '-iphonesimulator'. Bên trong mỗi thư mục .framework. Sao chép một trong số đó vào một số thư mục đẹp. Từ mỗi thư mục .frawework, sao chép tệp nhị phân trong đó vào một thư mục.
- Trong terminal chạy lệnh 'lipo -tạo -output <outputName> <binaryFromiphoneos> <binaryFromiphonesimulator>'. Điều này sẽ tạo ra một nhị phân chất béo với tất cả các kiến trúc cho cả mô phỏng và thiết bị. Thay thế thư mục trong thư mục .framework được sao chép bằng mới được tạo ra .
Để sử dụng khung bằng ứng dụng khác:
- Chọn dự án trong Navigator Project, chọn mục tiêu, và chọn tab 'General'.
- kéo thư mục .framework vào vị trí hiển thị 'Thêm tệp nhị phân được nhúng vào đây'.
- Trong cài đặt xây dựng của mục tiêu, thêm đường dẫn đến thư mục .framework vào 'Đường dẫn tìm kiếm khung'.
- Nhập các tập tin trong mã nguồn của bạn sử dụng #import <frameworkName/frameworkName.h>
theo câu hỏi của bạn để làm cho khung tùy chỉnh phổ biến bạn cần phải làm theo các bước này hoặc truy cập “http://www.raywenderlich.com/65964/create-a-framework-for-ios” như có làm khuôn khổ giới thiệu raywenderlich.
1.) Tạo dự án.
2.) Thêm mục tiêu mới vào dự án của bạn bằng cách chọn Cocoa Touch Static Library. (Để tham khảo thêm: http://www.raywenderlich.com/65964/create-a-framework-for-ios)
3.) Bây giờ bạn cần làm là đặt thư viện tĩnh làm sơ đồ hoạt động. Hãy chắc chắn rằng bạn đã thêm "arm64" trong Cài đặt Xây dựng trong thư viện tragets.
4.) Chọn thiết bị iO và tạo bản dựng. Nhưng cho rằng bạn cần phải thêm kịch bản dưới đây để làm cho nó phổ quát cho tất cả các thiết bị.
Script:
# define output folder environment variable
UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/${CONFIGURATION}-universal
UNIVERSAL_OUTPUTFOLDERx64=${BUILD_DIR}/${CONFIGURATION}-universalx64
# Step 1. Build Device and Simulator versions
xcodebuild -target DKHelperLib ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}"
xcodebuild -target DKHelperLib -configuration ${CONFIGURATION} -sdk iphonesimulator -arch i386 BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}"
xcodebuild -target DKHelperLib -configuration ${CONFIGURATION} -sdk iphonesimulator -arch x86_64 BUILD_DIR="${UNIVERSAL_OUTPUTFOLDERx64}" BUILD_ROOT="${BUILD_ROOT}"
# make sure the output directory exists
mkdir -p "${UNIVERSAL_OUTPUTFOLDER}"
# Step 2. Create universal binary file using lipo
lipo -create -output "${UNIVERSAL_OUTPUTFOLDER}/lib${PROJECT_NAME}.a" "${BUILD_DIR}/${CONFIGURATION}-iphoneos/lib${PROJECT_NAME}.a" "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/lib${PROJECT_NAME}.a" "${UNIVERSAL_OUTPUTFOLDERx64}/${CONFIGURATION}-iphonesimulator/lib${PROJECT_NAME}.a"
# Last touch. copy the header files. Just for convenience
cp -R "${BUILD_DIR}/${CONFIGURATION}-iphoneos/include" "${UNIVERSAL_OUTPUTFOLDER}/"
- 1. Cách tạo Khung iOS bằng cách sử dụng Xcode 5
- 2. Cách quay lại Xcode 6.4, Carthage
- 3. Xcode 6.3 không chạy iOS 8.4 - cập nhật lên 6.4 không thành công
- 4. Cài đặt riêng trong Ứng dụng iOS phổ biến?
- 5. Cách xây dựng thư viện tĩnh ios phổ dụng
- 6. Tại sao Zend Framework lại phổ biến đến thế?
- 7. SegmentedControlStyle không được chấp nhận trong iOS 7 trở lên (8.4) | Xcode 6.4
- 8. Cách phát hiện đối tượng JSON/JSON Array trên XCode bằng cách sử dụng JSON-Framework
- 9. Xcode 6 Sân chơi bằng cách sử dụng khung Parse?
- 10. Thêm Apache phụ thuộc phổ biến để chơi Framework 2.0
- 11. Phát triển phổ dụng trong Xcode 6
- 12. ASP.NET MVC - Phổ biến danh sách thả xuống được sử dụng phổ biến
- 13. EXC_BAD_ACCESS Sử dụng gmaps sdk 1.9.0, Xcode 6.4, chạy trên thiết bị 8.3
- 14. Xcode 6.4 Đề án Lựa chọn Biến mất trong El Capitan Beta
- 15. Có một #ifdef để phân biệt giữa Xcode 6.4 và Xcode 7 beta trong Swift không?
- 16. Phát hiện Pitch FFT cho iOS bằng cách sử dụng Accelerate Framework?
- 17. Có thể tạo một khung công tác iOS phổ dụng bằng bitcode không?
- 18. Màn hình khởi chạy iOS thực sự phổ dụng sử dụng mẫu Launch Screen.xib?
- 19. Liên kết phổ dụng trong iOS 8?
- 20. iOS 10.3 Liên kết phổ biến không hoạt động
- 21. Thử nghiệm trên iOS 3.x bằng cách sử dụng XCode 3.2.5
- 22. Trường hợp sử dụng phổ biến của erlang
- 23. Sử dụng phổ biến cho thuộc tính Thẻ
- 24. Cách gửi ứng dụng iOS KHÔNG XCode?
- 25. Xóa các phương thức chưa sử dụng khỏi xcode ios
- 26. Mô phỏng iOS trong Xcode 6.4 hiển thị nhiều phiên bản và có "id" dài trong tên
- 27. Dịch các chuỗi ứng dụng phổ biến
- 28. Xcode 6 - dự án "bảng phân cảnh phổ quát" sẽ hỗ trợ iOS 7?
- 29. Một số cách phổ biến để gây rò rỉ bộ nhớ bằng cách sử dụng JQuery/JavaScript là gì?
- 30. IQueryable SQL injection proof bằng cách sử dụng Entity Framework?
một số hãy cho tôi giải pháp – haritha