2015-10-01 28 views
7

Tôi muốn tự động hóa việc xây dựng + triển khai ứng dụng React-Native của mình, ví dụ để gửi bản dựng TestFlight.Làm thế nào để xây dựng và triển khai một ứng dụng phản ứng bản địa từ dòng lệnh?

Trước khi trình ứng dụng, tôi thường làm như sau:

  1. tôi chạy react-native bundle
  2. tôi chuyển sang cấu hình build để Release trong lược đồ
  3. tôi nhận xét ra các mã tương ứng với jsCodeLocation trong appdelegate .m

Có thể viết một lệnh từ Terminal để thực hiện các bước đó, để sau đó tôi có thể xóa oy nó với một công cụ tự động hóa, ví dụ: với fastlane?

Cho đến giờ, tôi chỉ cần tự động hóa bước thứ 2 và bước thứ 3.

Để thay đổi jsCodeLocation Tôi có thể thêm điều kiện, ví dụ:

#if "<build configuration is release>" 
    jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"]; 
#else 
    jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; 
#end 

nhưng tôi không biết cách tiếp cận cài đặt cấu hình xây dựng.

Trả lời

14

tôi giải quyết viết lại AppDelegate.m như

#ifdef DEBUG 
    jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"]; 
#else 
    jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; 
#endif 

bây giờ tôi có thể sử dụng Fastlane để triển khai mà không cần chỉnh sửa các tập tin.

+0

Chỉ cần nói, ứng dụng là phía máy khách, không phải phía máy chủ, do đó tên máy chủ '0.0.0.0' sẽ làm cho phiên bản gỡ lỗi không hoạt động. (Mặc dù bạn có thể sửa đổi nó trong menu gỡ rối của ứng dụng) – RnMss

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