+1

Flutter: Hướng dẫn fix lỗi sau khi update XCode lên 11.4

Bài viết này dành cho các bạn hiện tại vẫn còn đang ở nhánh stable của Flutter(Channel stable, v1.12.13+hotfix.9 hoặc nhỏ hơn) hoặc khi build App bạn nhận được error như dưới đây:

Building for iOS, but the linked and embedded framework ‘App.framework’ was built for iOS Simulator.

Hoặc:

Building for iOS Simulator, but the linked and embedded framework ‘App.framework’ was built for iOS.

Để fix được lỗi trên, các bạn follow theo hướng dẫn của mình từng bước phía dưới nhé:

  1. Mở file ios/Runner.xcworkspace trong project của Flutter của bạn
  2. Bạn nhìn qua bên Navigation Pane của XCode, bên trong thư mục Flutter bạn sẽ thấy App.frameworkFlutter.framework.
  3. Nhẹ nhàng remove chúng bằng cách Select -> chuột phải -> Delete.

Sau khi remove xong, các bạn chọn Target Runner -> Build Phases > Link Binary With LibrariesEmbed Frameworks để đảm bảo rằng không còn xuất hiện 2 file App.frameworkFlutter.framework nữa.

Vẫn trong Build Phases đó, bạn chọn tiếp Thin Binary và thêm đoạn script dưới đây:

/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed 
/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" thin

Và cuối cùng, các bạn chọn Target Runner -> Other Linker Flags, thêm các dòng sau nếu chưa có $(inherited) -framework Flutter

Cuối cùng, nếu các bạn vẫn chưa hiểu các thành phần trong XCode, mình sẽ bonus cho các bạn 1 tấm hình tổng hợp các thành phần trong XCode mà chúng mình thường sử dụng mà không để ý đến.

Lưu ý: Flutter v1.15.3 và các version sau đó đã tự động migrate vào project trong XCode của bạn.

Nếu bạn muốn xem được những bài viết chất lượng, hay thảo luận những kiến thức, chia sẻ hiểu biết của bạn đến mọi người, hãy tham gia group của bọn mình trên Facebook nhé: ^^


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí