iwasrobbed/Swift-CheatSheet 910
A quick reference cheat sheet for common, high level topics in Swift.
Music repeater for iPhone
Some convenience categories for Apple & Google map sdks
Test repo 1 to test git subtree push and pull
Test repo 1 to test git subtree push and pull
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
commit sha 9a46e9b616d23575f2fe62a83bcbdd781b480242
Get XCUITest working in BuckLocal Xcode project (#147)
push time in 4 days
PR merged airbnb/BuckSample
Step 1: make buck_local_project

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

Step 3: Wait and see the UI test results.

@qyang-nj @shepting
pr closed time in 4 days
push eventairbnb/BuckSample
commit sha bb2277bc524a08f929498fc0d9b91745582dc110
Update the other reference of Buck master branch to the specific SHA
push time in 4 days
push eventairbnb/BuckSample
commit sha ffb8bab9271a3405c58b869ab59f232913a4ae61
Use actual commit SHA in the link
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!
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.
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.
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?
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.
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.
comment created time in 4 days
push eventairbnb/BuckSample
commit sha ff078a4089ddb827e76da2b5764d91caffcf4370
Demonstrate Building Widget Extension with Buck (#146)
commit sha 57674ebf3cf77b8b486dd4d5d4d49af24d913fe9
Merge branch 'master' into xianwen--xcuitest-in-xcode
push time in 4 days
push eventairbnb/BuckSample
commit sha 3027c918fb86605d4a43a9f3fdbe814fe5741c31
Get UITest working both in BuckLocal Xcode and in terminal
push time in 5 days
push eventairbnb/BuckSample
commit sha 86757b73ea33aa511d65c466fab686acbf8826c8
Get XCUITest working properly in the BuckLocal Xcode project
push time in 6 days
push eventairbnb/BuckSample
commit sha ff078a4089ddb827e76da2b5764d91caffcf4370
Demonstrate Building Widget Extension with Buck (#146)
push time in 9 days
PR merged airbnb/BuckSample
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.

- [x] Built and ran in Xcode (
make project) - [x] Built and ran with Buck CLI (
make debug)
Please Review: @xianwen @shepting
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
comment created time in 9 days
push eventairbnb/BuckSample
commit sha 1ec3235d958171e7893b0247380da159ba2e6ac5
remove used files
push time in 9 days
PR opened airbnb/BuckSample
- [ ] Built and ran in Xcode (
make project) - [ ] Built and ran with Buck CLI (
make debug)
pr created time in 9 days
create barnchairbnb/BuckSample
branch : qing--example-widget-extension
created branch time in 9 days
push eventairbnb/BuckSample
commit sha 297e59a194b48cf379bac4cf639d03d02b0a135f
Remove HEADER_SEARCH_PATHS and SWIFT_INCLUDE_PATHS to fix the duplicated definition issue.
push time in 11 days
push eventairbnb/BuckSample
commit sha 879d275698f9bc559874afc6c232db97490b626c
Fix BuckLocal compilation on Xcode 12 and Big Sur (#145)
push time in a month
PR merged airbnb/BuckSample

@qyang-nj @shepting
- [x] Built and ran in Xcode (
make project) - [ ] Built and ran with Buck CLI (
make debug)
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.
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.
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?
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
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?
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.
comment created time in a month