關於版本號碼命名規則(rule of version number)

以下資料皆來自Ref,這裡僅做個人筆記整理

https://medium.com/fiverr-engineering/major-minor-patch-a5298e2e1798

Major.Minor.Patch

A program’s version does not represent the state of the software but makes a statement about its API for the consumer.
Semantic versioning does not reflect the size of the update, but the changes in the software’s public API.

  • Patch:
    Patch updates are 「interchangeable」, meaning consumers can upgrade or downgrade freely.

Content: Internal fix
Example: Bug fix, Performance improvement, environment or internal tweaks
Policy: Consumers should update their software without hesitation

  • Minor
    Minor updates are 「backwards compatible」, meaning consumers can upgrade freely.

Content: Interface change with full backward compatibility
Example: New feature, Endpoint declared deprecated
Policy: Update your software to get some new features. Nothing will break

  • Major
    Major updates are 「non-compatible」, meaning consumers can not upgrade without changing their software where applicable.

Content: Interface change breaking backward compatibility
Example: Change API endpoint name or signature, Remove an endpoint
Policy: Test your system extensively after updating.
Migration documents may be in order

IOS – creating a framework

以下資料皆來自Ref,這裏僅作個人筆記整理

Ref: https://www.raywenderlich.com/17753301-creating-a-framework-for-ios

pack ios archive of framework

xcodebuild archive \
-scheme TestFramework \
-configuration Release \
-destination ‘generic/platform=iOS’ \
-archivePath ‘./build/TestFramework.framework-iphoneos.xcarchive’ \
SKIP_INSTALL=NO \
BUILD_LIBRARIES_FOR_DISTRIBUTION=YES

pack ios simulator archive of framework

xcodebuild archive \
-scheme TestFramework \
-configuration Release \
-destination ‘generic/platform=iOS Simulator’ \
-archivePath ‘./build/TestFramework.framework-iphonesimulator.xcarchive’ \
SKIP_INSTALL=NO \
BUILD_LIBRARIES_FOR_DISTRIBUTION=YES

pack macOS Catalyst archive of framework

xcodebuild archive \
-scheme TestFramework \
-configuration Release \
-destination ‘platform=macOS,arch=x86_64,variant=Mac Catalyst’ \
-archivePath ‘./build/TestFramework.framework-catalyst.xcarchive’ \
SKIP_INSTALL=NO \
BUILD_LIBRARIES_FOR_DISTRIBUTION=YES

Generating the XCFramework

xcodebuild -create-xcframework \
-framework ‘./build/TestFramework.framework-iphonesimulator.xcarchive/Products/Library/Frameworks/TestFramework.framework’ \
-framework ‘./build/TestFramework.framework-iphoneos.xcarchive/Products/Library/Frameworks/TestFramework.framework’ \
-output ‘./build/TestFramework.xcframework’