Skip to content

Support building XCFramework and cleanup #5

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

Draft
wants to merge 13 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions demo-xcframework/.bundle/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
BUNDLE_PATH: "./.bundler_cache"
50 changes: 50 additions & 0 deletions demo-xcframework/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@

# Created by https://www.gitignore.io/api/xcode,cocoapods
# Edit at https://www.gitignore.io/?templates=xcode,cocoapods

### CocoaPods ###
## CocoaPods GitIgnore Template

# CocoaPods - Only use to conserve bandwidth / Save time on Pushing
# - Also handy if you have a large number of dependant pods
# - AS PER https://guides.cocoapods.org/using/using-cocoapods.html NEVER IGNORE THE LOCK FILE
Pods/

### Xcode ###
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

## User settings
xcuserdata/

## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
*.xcscmblueprint
*.xccheckout

## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
build/
DerivedData/
*.moved-aside
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3

### Xcode Patch ###
*.xcodeproj/*
!*.xcodeproj/project.pbxproj
!*.xcodeproj/xcshareddata/
!*.xcworkspace/contents.xcworkspacedata
/*.gcno
**/xcshareddata/WorkspaceSettings.xcsettings

# End of https://www.gitignore.io/api/xcode,cocoapods


# the bundler local cache
.bundler_cache/
7 changes: 7 additions & 0 deletions demo-xcframework/Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@

# frozen_string_literal: true
source "https://rubygems.org"

gem 'cocoapods', '1.10.0'
gem 'cocoapods-binary', :path => "../"
gem 'xcpretty'
106 changes: 106 additions & 0 deletions demo-xcframework/Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
PATH
remote: ..
specs:
cocoapods-binary (0.4.4)
cocoapods (>= 1.5.0, < 2.0)
fourflusher (~> 2.0)
xcpretty (~> 0.3.0)

GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.3)
activesupport (5.2.4.4)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
algoliasearch (1.27.5)
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
atomos (0.1.3)
claide (1.0.3)
cocoapods (1.10.0)
addressable (~> 2.6)
claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.10.0)
cocoapods-deintegrate (>= 1.0.3, < 2.0)
cocoapods-downloader (>= 1.4.0, < 2.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
cocoapods-search (>= 1.0.0, < 2.0)
cocoapods-trunk (>= 1.4.0, < 2.0)
cocoapods-try (>= 1.1.0, < 2.0)
colored2 (~> 3.1)
escape (~> 0.0.4)
fourflusher (>= 2.3.0, < 3.0)
gh_inspector (~> 1.0)
molinillo (~> 0.6.6)
nap (~> 1.0)
ruby-macho (~> 1.4)
xcodeproj (>= 1.19.0, < 2.0)
cocoapods-core (1.10.0)
activesupport (> 5.0, < 6)
addressable (~> 2.6)
algoliasearch (~> 1.0)
concurrent-ruby (~> 1.1)
fuzzy_match (~> 2.0.4)
nap (~> 1.0)
netrc (~> 0.11)
public_suffix
typhoeus (~> 1.0)
cocoapods-deintegrate (1.0.4)
cocoapods-downloader (1.4.0)
cocoapods-plugins (1.0.0)
nap
cocoapods-search (1.0.0)
cocoapods-trunk (1.5.0)
nap (>= 0.8, < 2.0)
netrc (~> 0.11)
cocoapods-try (1.2.0)
colored2 (3.1.2)
concurrent-ruby (1.1.7)
escape (0.0.4)
ethon (0.12.0)
ffi (>= 1.3.0)
ffi (1.13.1)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
httpclient (2.8.3)
i18n (1.8.5)
concurrent-ruby (~> 1.0)
json (2.3.1)
minitest (5.14.2)
molinillo (0.6.6)
nanaimo (0.3.0)
nap (1.1.0)
netrc (0.11.0)
public_suffix (4.0.6)
rouge (2.0.7)
ruby-macho (1.4.0)
thread_safe (0.3.6)
typhoeus (1.4.0)
ethon (>= 0.9.0)
tzinfo (1.2.8)
thread_safe (~> 0.1)
xcodeproj (1.19.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
xcpretty (0.3.0)
rouge (~> 2.0.7)

PLATFORMS
ruby

DEPENDENCIES
cocoapods (= 1.10.0)
cocoapods-binary!
xcpretty

BUNDLED WITH
2.1.4
22 changes: 22 additions & 0 deletions demo-xcframework/ModuleA/Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
</dict>
</plist>
18 changes: 18 additions & 0 deletions demo-xcframework/ModuleA/ModuleA.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
//
// ModuleA.h
// ModuleA
//
// Created by Muukii on 2021/04/23.
//

#import <Foundation/Foundation.h>

//! Project version number for ModuleA.
FOUNDATION_EXPORT double ModuleAVersionNumber;

//! Project version string for ModuleA.
FOUNDATION_EXPORT const unsigned char ModuleAVersionString[];

// In this header, you should import all the public headers of your framework using statements like #import <ModuleA/PublicHeader.h>


22 changes: 22 additions & 0 deletions demo-xcframework/ModuleB/Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
</dict>
</plist>
18 changes: 18 additions & 0 deletions demo-xcframework/ModuleB/ModuleB.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
//
// ModuleB.h
// ModuleB
//
// Created by Muukii on 2021/04/23.
//

#import <Foundation/Foundation.h>

//! Project version number for ModuleB.
FOUNDATION_EXPORT double ModuleBVersionNumber;

//! Project version string for ModuleB.
FOUNDATION_EXPORT const unsigned char ModuleBVersionString[];

// In this header, you should import all the public headers of your framework using statements like #import <ModuleB/PublicHeader.h>


20 changes: 20 additions & 0 deletions demo-xcframework/Podfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
platform :ios, "12.0"
plugin "cocoapods-binary"

use_frameworks!
enable_bitcode_for_prebuilt_frameworks!
use_xcframework!

target "demo" do
pod "Alamofire", binary: true
end

target "ModuleA" do
platform :ios, "12.0"
pod "Verge", binary: true
end

target "ModuleB" do
platform :ios, "12.0"
pod "Reusable", binary: true
end
16 changes: 16 additions & 0 deletions demo-xcframework/Podfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
PODS:
- Masonry (1.1.0)

DEPENDENCIES:
- Masonry

SPEC REPOS:
trunk:
- Masonry

SPEC CHECKSUMS:
Masonry: 678fab65091a9290e40e2832a55e7ab731aad201

PODFILE CHECKSUM: 35aa48f5e3b98796a58c6bec853dba2ef9d8dbc9

COCOAPODS: 1.10.0
Loading