Skip to content

[webchannel] Add Objective-C client implementation#73

Merged
wenbozhu merged 2 commits into
google:mainfrom
sampajano:webchannel-objc-export
Jun 30, 2026
Merged

[webchannel] Add Objective-C client implementation#73
wenbozhu merged 2 commits into
google:mainfrom
sampajano:webchannel-objc-export

Conversation

@sampajano

@sampajano sampajano commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

This PR introduces the initial Objective-C client implementation for WebChannel.

It includes:

  • Core WebChannel client protocols, connection dispatching, and JSON/V8 serialization support.
  • Integration support using Apple's native Grand Central Dispatch (GCD) dispatch_source_t timers and standard NSLog logging.
  • Integration with GTMSessionFetcher for HTTP request/response networking.
  • CocoaPods WebChannel.podspec configuration.

Verified to build and pass all unit tests on macOS via CocoaPods:
pod lib lint WebChannel.podspec --verbose --allow-warnings --platforms=osx

@sampajano sampajano requested a review from wenbozhu June 24, 2026 23:12
@sampajano sampajano marked this pull request as ready for review June 24, 2026 23:12
@sampajano sampajano force-pushed the webchannel-objc-export branch from 84326e5 to 1aa52b4 Compare June 24, 2026 23:48
- Introduce CocoaPods `WebChannel.podspec` configuration.
- Fix OCMock `andDo:` block syntax for `setTimeout:block:` stub in unit tests to match standard public OCMock `NSInvocation` signature.
- Flatten relative imports (`../` and `../Support/`) in unit test files to direct flat header imports to resolve Clang module header name lookup ambiguities under CocoaPods.
@sampajano sampajano force-pushed the webchannel-objc-export branch from 1aa52b4 to 90d126f Compare June 24, 2026 23:50
@wenbozhu wenbozhu merged commit 0381f0c into google:main Jun 30, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants