Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ios): macOS support #309

Merged
merged 8 commits into from Sep 14, 2020
Merged

feat(ios): macOS support #309

merged 8 commits into from Sep 14, 2020

Conversation

sgtcoolguy
Copy link
Contributor

@sgtcoolguy sgtcoolguy commented Sep 1, 2020

Needs to be built with SDK from master (Relied on changes from tidev/titanium-sdk#12033 to support xcframeworks and macOS)

This is PR gets the module building with the SDK that enables macOS support and builds as an xcframework (to support arm64 sims when Apple Silicon computers ship!). I've tested locally (and pushed fixes to the SDK) to get this working. I was able to test an iPhone sim and macOS catalyst locally.

The most relevant change here is to the iOS/titanium.xcconfig using a recursive path for FRAMEWORK_SEARCH_PATHS. Because the SDK packages TitaniumKit as an XCFramework, the underlying framework folders are underneath each os/arch combo parent.

Screen Shot 2020-09-01 at 2 04 13 PM

Screen Shot 2020-09-01 at 2 04 23 PM

@build
Copy link

build commented Sep 1, 2020

Warnings
⚠️ SDK version declared in Jenkinsfile (9.2.0.v20200911073932) does not match iOS' titanium.xcconfig value (9.2.0.GA)
Messages
📖

💾 Here are the artifacts produced:

📖

✅ All tests are passing
Nice one! All 119 tests are passing.

📖 🎉 - congrats on your new release

Generated by 🚫 dangerJS against 05b66a7

@hansemannn
Copy link
Contributor

You are seriously awesome man!!


//
// THESE SHOULD BE OK GENERALLY AS-IS
//
TITANIUM_SDK = /Users/$(USER)/Library/Application Support/Titanium/mobilesdk/osx/$(TITANIUM_SDK_VERSION)
HEADER_SEARCH_PATHS = $(inherited) "$(TITANIUM_SDK)/iphone/include"
FRAMEWORK_SEARCH_PATHS = $(inherited) "$(TITANIUM_SDK)/iphone/Frameworks"
FRAMEWORK_SEARCH_PATHS = $(inherited) "$(TITANIUM_SDK)/iphone/Frameworks/**"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I remember that I faced some issue with this while building module (probably it was picking other architecture found inside TitaniumKit.xcframework e.g building for simulator it was picking device's framework) because it is searching framework recursively. But it is working fine now. May be some issue from my side.

Probably we want to update _buildModule.js in SDK PR tidev/titanium-sdk#11955 to update this line at run time if it is getting build using SDK 9.2.0 (sdk version in which mac support included).

Copy link
Contributor

@vijaysingh-axway vijaysingh-axway left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@sgtcoolguy sgtcoolguy marked this pull request as ready for review September 11, 2020 17:09
@sgtcoolguy sgtcoolguy merged commit cdd2537 into tidev:master Sep 14, 2020
@sgtcoolguy sgtcoolguy deleted the mac-support branch September 14, 2020 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants