profile
viewpoint

iwasrobbed/Swift-CheatSheet 910

A quick reference cheat sheet for common, high level topics in Swift.

teradyl/Awesome-Repeater 1

Music repeater for iPhone

teradyl/MapHacks 1

Some convenience categories for Apple & Google map sdks

teradyl/gitSubtreeParent1 0

Test repo 1 to test git subtree push and pull

teradyl/gitSubtreeParent2 0

Test repo 1 to test git subtree push and pull

teradyl/gitSubtreeShared 0

Shared library to be shared between parent 1 and 2

teradyl/MSNavigationPaneViewController 0

Draggable navigation pane view controller for iPhone. Similar to the Path/Facebook navigation paradigm.

push eventairbnb/BuckSample

Xianwen Chen

commit sha 9a46e9b616d23575f2fe62a83bcbdd781b480242

Get XCUITest working in BuckLocal Xcode project (#147)

view details

push time in 4 days

PR merged airbnb/BuckSample

Get XCUITest working in BuckLocal Xcode project

Step 1: make buck_local_project

image

Step 2: Cmd + U to build and run XCUITest for the Example App

image

Step 3: Wait and see the UI test results.

image

@qyang-nj @shepting

+39 -11

0 comment

4 changed files

xianwen

pr closed time in 4 days

push eventairbnb/BuckSample

Xianwen Chen

commit sha bb2277bc524a08f929498fc0d9b91745582dc110

Update the other reference of Buck master branch to the specific SHA

view details

push time in 4 days

push eventairbnb/BuckSample

Xianwen Chen

commit sha ffb8bab9271a3405c58b869ab59f232913a4ae61

Use actual commit SHA in the link

view details

push time in 4 days

Pull request review commentairbnb/BuckSample

Get XCUITest working in BuckLocal Xcode project

 def generate_buck_local_buck_file     end      #-    # Override `HEADER_SEARCH_PATHS` and `SWIFT_INCLUDE_PATHS` to avoid duplicated definitions between+    # Remove `HEADER_SEARCH_PATHS` and `SWIFT_INCLUDE_PATHS` to avoid duplicated definitions between     # BuckLocal build and Xcode build.     #-    def override_xcconfig_files-      additional_settings = contents_of_file("#{ROOT_DIR}/BuckLocal/additional_xcconfig_settings.txt")-+    def update_xcconfig_files       # Get all files whose name matches "*-Debug.xcconfig" under buck-out       Dir.glob("#{ROOT_DIR}/buck-out/**/*-Debug.xcconfig").each do |xcconfig_file|-        append_to_file(additional_settings, xcconfig_file)+        xcconfig_content = contents_of_file(xcconfig_file)+        xcconfig_content = xcconfig_content.lines.map(&:chomp).reject { |line| line.start_with?('HEADER_SEARCH_PATHS') || line.start_with?('SWIFT_INCLUDE_PATHS') }

👍 Very clever!

xianwen

comment created time in 4 days

Pull request review commentairbnb/BuckSample

Get XCUITest working in BuckLocal Xcode project

 def buck_local_workspace(         name = name,         workspace_name = workspace_name,         src_target = src_target,+        # Since `ui_tests` require a different test runner in CLI, but can be launched as-is from Xcode, we will place them as `extra_tests` on the Xcode workspace - where they make the most semantic sense.

I think so. I moved this comment from App/BUCK (https://github.com/airbnb/BuckSample/pull/147/files#diff-bc8d8f6adfc17b0b0f63dcd615cbe8d7587e2169262fdd2b6d29897acf982fecL138) to here, I'm not the original author of this comment.

xianwen

comment created time in 4 days

Pull request review commentairbnb/BuckSample

Get XCUITest working in BuckLocal Xcode project

 buck-out/ .buckd/ +# Buck Local+lib_targets.list

A plaintext file.

xianwen

comment created time in 4 days

Pull request review commentairbnb/BuckSample

Get XCUITest working in BuckLocal Xcode project

 buck-out/ .buckd/ +# Buck Local+lib_targets.list

Is this a special type of file? Or just a plaintext file?

xianwen

comment created time in 4 days

Pull request review commentairbnb/BuckSample

Get XCUITest working in BuckLocal Xcode project

 def buck_local_workspace(         name = name,         workspace_name = workspace_name,         src_target = src_target,+        # Since `ui_tests` require a different test runner in CLI, but can be launched as-is from Xcode, we will place them as `extra_tests` on the Xcode workspace - where they make the most semantic sense.

By "test runner" do you mean a "hosted app"? Asking to learn.

xianwen

comment created time in 4 days

Pull request review commentairbnb/BuckSample

Get XCUITest working in BuckLocal Xcode project

 apple_test_lib(     is_ui_test = True,     # The `ui_test_target_app` field is not mentioned in Buck's official documentation, but it appears in its XCUITest fixtures.     # https://github.com/facebook/buck/blob/master/test/com/facebook/buck/apple/testdata/apple_test_xcuitest/BUCK.fixture#L66+    ui_test_target_app = ":ExampleApp",+    labels = ['ui'],+    frameworks = [+        "$PLATFORM_DIR/Developer/Library/Frameworks/XCTest.framework",+        "$SDKROOT/System/Library/Frameworks/Foundation.framework",+        "$SDKROOT/System/Library/Frameworks/UIKit.framework",+    ],+)++# This test suite cannot be packaged with other tests due to a dependency on `fbxctest` instead of `xctool`.+apple_test_lib(+    name = "XCUITestsBuckLocal",+    destination_specifier = {+        "name": "iPhone 8",+    },+    run_test_separately = True,+    # The `test_host_app` is launched first in the Simulator and needs to be an `apple_bundle` that is distinct from `ui_test_target_app`.+    test_host_app = ":XCUITestsHostApp",+    srcs = glob([+        "XCUITests/*.swift",+    ]),+    is_ui_test = True,+    # The `ui_test_target_app` field is not mentioned in Buck's official documentation, but it appears in its XCUITest fixtures.+    # https://github.com/facebook/buck/blob/master/test/com/facebook/buck/apple/testdata/apple_test_xcuitest/BUCK.fixture#L66

Let's update these links to point to a specific SHA so that they remain valid even as the buck repo evolves.

xianwen

comment created time in 4 days

push eventairbnb/BuckSample

Qing Yang

commit sha ff078a4089ddb827e76da2b5764d91caffcf4370

Demonstrate Building Widget Extension with Buck (#146)

view details

Xianwen Chen

commit sha 57674ebf3cf77b8b486dd4d5d4d49af24d913fe9

Merge branch 'master' into xianwen--xcuitest-in-xcode

view details

push time in 4 days

push eventairbnb/BuckSample

Xianwen Chen

commit sha 3027c918fb86605d4a43a9f3fdbe814fe5741c31

Get UITest working both in BuckLocal Xcode and in terminal

view details

push time in 5 days

push eventairbnb/BuckSample

Xianwen Chen

commit sha 86757b73ea33aa511d65c466fab686acbf8826c8

Get XCUITest working properly in the BuckLocal Xcode project

view details

push time in 6 days

push eventairbnb/BuckSample

Qing Yang

commit sha ff078a4089ddb827e76da2b5764d91caffcf4370

Demonstrate Building Widget Extension with Buck (#146)

view details

push time in 9 days

PR merged airbnb/BuckSample

Demonstrate Building Widget Extension with Buck

This PR demonstrates building Widget Extension with Buck and Buck-generated workspace.

There are two types of Widget Extension, with StaticConfiguration and with IntentConfiguration. This PR is for the type with static configuration. The other one is very similar to Siri Shortcuts Extension.

image

  • [x] Built and ran in Xcode (make project)
  • [x] Built and ran with Buck CLI (make debug)

Please Review: @xianwen @shepting

+133 -1

0 comment

3 changed files

qyang-nj

pr closed time in 9 days

Pull request review commentairbnb/BuckSample

Demonstrate Widget Extension with Buck

 apple_resource( ) ### iMessage Extension End ### +### Widget Extension Begin ###+apple_binary(+    name = "ExampleWidgetExtensionBinary",+    srcs = glob([+        "WidgetExtension/**/*.swift",+    ]),+    configs = message_binary_configs("ExampleApp.WidgetExtension"),++    # Same linker flags as ExampleMessageExtensionBinary+    linker_flags = [+        "-e",+        "_NSExtensionMain",+        "-Xlinker",+        "-rpath",+        "-Xlinker",+        "@executable_path/../../Frameworks",+    ],+)++apple_bundle(+    name = "ExampleWidgetExtension",+    binary = ":ExampleWidgetExtensionBinary",+    extension = "appex",+    info_plist = "WidgetExtension/Info.plist",+    info_plist_substitutions = {+        "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,+        "EXECUTABLE_NAME": "ExampleWidgetExtension",+        "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier("ExampleApp.WidgetExtension"),+        "PRODUCT_NAME": "ExampleWidgetExtension",+        "PRODUCT_MODULE_NAME": "ExampleWidgetExtensionBinary",+        "PRODUCT_BUNDLE_PACKAGE_TYPE": "XPC!",+    },+    xcode_product_type = "com.apple.product-type.app-extension",

The type for Widget Extension

qyang-nj

comment created time in 9 days

push eventairbnb/BuckSample

Qing Yang

commit sha 1ec3235d958171e7893b0247380da159ba2e6ac5

remove used files

view details

push time in 9 days

PR opened airbnb/BuckSample

Demonstrate Widget Extension with Buck
  • [ ] Built and ran in Xcode (make project)
  • [ ] Built and ran with Buck CLI (make debug)
+268 -1

0 comment

7 changed files

pr created time in 9 days

create barnchairbnb/BuckSample

branch : qing--example-widget-extension

created branch time in 9 days

push eventairbnb/BuckSample

Xianwen Chen

commit sha 297e59a194b48cf379bac4cf639d03d02b0a135f

Remove HEADER_SEARCH_PATHS and SWIFT_INCLUDE_PATHS to fix the duplicated definition issue.

view details

push time in 11 days

create barnchairbnb/BuckSample

branch : xianwen--xcuitest-in-xcode

created branch time in 13 days

push eventairbnb/BuckSample

Xianwen Chen

commit sha 879d275698f9bc559874afc6c232db97490b626c

Fix BuckLocal compilation on Xcode 12 and Big Sur (#145)

view details

push time in a month

PR merged airbnb/BuckSample

Fix BuckLocal compilation on Xcode 12 and Big Sur

image

@qyang-nj @shepting

  • [x] Built and ran in Xcode (make project)
  • [ ] Built and ran with Buck CLI (make debug)
+4 -2

0 comment

3 changed files

xianwen

pr closed time in a month

Pull request review commentairbnb/BuckSample

Fix BuckLocal compilation on Xcode 12 and Big Sur

 def override_xcconfig_files     # Disable `build_implicit_dependencies` and `parallelize_buildables` for "BuckLocal" xcscheme.     #     def update_main_scheme-      scheme_name = @xcworkspace.split('/').last.split('.').first+      scheme_name = @xcworkspace.split('/').last.split('-').first

No, it's the workspace has a different name. Before it was ExampleAppBuckLocal.xcworkspace/xcshareddata/xcschemes/ExampleAppBuckLocal, now, it's ExampleAppBuckLocal-BUCK.xcworkspace/xcshareddata/xcschemes/ExampleAppBuckLocal.

We use - so that we can remove that -BUCK from the workspace name.

xianwen

comment created time in a month

Pull request review commentairbnb/BuckSample

Fix BuckLocal compilation on Xcode 12 and Big Sur

 # DSYM_BUNDLE_PATH=$DWARF_DSYM_FOLDER_PATH/$DWARF_DSYM_FILE_NAME +# Wait for 1 second to make sure the DSYM bundle had been generated.+sleep 1

I don't know if 1 second will always be enough, but it seems to be good enough from a few basic testing I did locally. Without this, there is always an error message when I build the app in Buck Local.

xianwen

comment created time in a month

Pull request review commentairbnb/BuckSample

Fix BuckLocal compilation on Xcode 12 and Big Sur

 # DSYM_BUNDLE_PATH=$DWARF_DSYM_FOLDER_PATH/$DWARF_DSYM_FILE_NAME +# Wait for 1 second to make sure the DSYM bundle had been generated.+sleep 1

Curious to know what happened here. Will 1 second always be enough?

xianwen

comment created time in a month

Pull request review commentairbnb/BuckSample

Fix BuckLocal compilation on Xcode 12 and Big Sur

 def override_xcconfig_files     # Disable `build_implicit_dependencies` and `parallelize_buildables` for "BuckLocal" xcscheme.     #     def update_main_scheme-      scheme_name = @xcworkspace.split('/').last.split('.').first+      scheme_name = @xcworkspace.split('/').last.split('-').first

I'm curious as well

xianwen

comment created time in a month

Pull request review commentairbnb/BuckSample

Fix BuckLocal compilation on Xcode 12 and Big Sur

 def override_xcconfig_files     # Disable `build_implicit_dependencies` and `parallelize_buildables` for "BuckLocal" xcscheme.     #     def update_main_scheme-      scheme_name = @xcworkspace.split('/').last.split('.').first+      scheme_name = @xcworkspace.split('/').last.split('-').first

Do these schemes now have a different format in the new Xcode?

xianwen

comment created time in a month

Pull request review commentairbnb/BuckSample

Fix BuckLocal compilation on Xcode 12 and Big Sur

 # DSYM_BUNDLE_PATH=$DWARF_DSYM_FOLDER_PATH/$DWARF_DSYM_FILE_NAME +# Wait for 1 second to make sure the DSYM bundle had been generated.+sleep 1

Oh man, I'm glad you discovered this workaround.

xianwen

comment created time in a month

more