Skip to content
This repository was archived by the owner on Oct 16, 2025. It is now read-only.

Commit d137434

Browse files
authored
refactor: rename package to OpenIAP (#2)
- Rename library from IosIAP to OpenIAP - Update repository URLs to openiap-ios - Deprecate old IosIAP pod
1 parent 437eb4a commit d137434

28 files changed

+165
-169
lines changed

.github/workflows/deploy-cocoapods.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ jobs:
2828
2929
- name: Validate Podspec
3030
run: |
31-
pod lib lint IosIAP.podspec --allow-warnings
31+
pod lib lint openiap.podspec --allow-warnings
3232
3333
- name: Deploy to CocoaPods Trunk
3434
if: github.event_name == 'release'
3535
env:
3636
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
3737
COCOAPODS_VALIDATOR_SKIP_XCODEBUILD: 1
3838
run: |
39-
pod trunk push IosIAP.podspec --allow-warnings
39+
pod trunk push openiap.podspec --allow-warnings

.vscode/launch.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"type": "node-terminal",
1414
"request": "launch",
1515
"name": "📱 Build & Run Example (iOS Simulator)",
16-
"command": "xcodebuild -project Martie.xcodeproj -scheme IosIapExample -destination 'platform=iOS Simulator,name=iPhone 16,OS=18.5' build",
16+
"command": "xcodebuild -project Martie.xcodeproj -scheme OpenIapExample -destination 'platform=iOS Simulator,name=iPhone 16,OS=18.5' build",
1717
"cwd": "${workspaceFolder}/Example",
1818
"group": "build"
1919
},

.vscode/settings.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"cSpell.words": [
3+
"hyodotdev",
4+
"netrc",
5+
"openiap",
6+
"swiftpm",
7+
"tvos",
8+
"watchos",
9+
"xcuserdata",
10+
"xcworkspace",
11+
"xcworkspacedata"
12+
]
13+
}

CLAUDE.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
1-
# Claude Development Guidelines for ios-iap
1+
# Claude Development Guidelines for OpenIAP
22

33
## Swift Naming Conventions for Acronyms
44

55
### General Rule
66

77
- **Acronyms should be ALL CAPS only when they appear as a suffix**
88
- **When acronyms appear at the beginning or middle, use Pascal case (first letter caps, rest lowercase)**
9-
- **Package/Module names follow the same rule: `IosIAP` (iOS at beginning = `Ios`, IAP as suffix = `IAP`)**
9+
- **Package/Module names follow the same rule: `OpenIAP` (Open at beginning = `Open`, IAP as suffix = `IAP`)**
1010

1111
### Examples
1212

1313
#### ✅ Correct
1414

15-
- `IosIAP` (Package name: iOS at beginning, IAP as suffix)
15+
- `OpenIAP` (Package name: Open at beginning, IAP as suffix)
1616
- `IapManager` (IAP at beginning)
1717
- `IapPurchase` (IAP at beginning)
1818
- `IapError` (IAP at beginning)
19-
- `IosIapTests` (both iOS and IAP at beginning/middle)
19+
- `OpenIapTests` (both Open and IAP at beginning/middle)
2020
- `ProductIAP` (IAP as suffix)
2121
- `ManagerIAP` (IAP as suffix)
2222

2323
#### ❌ Incorrect
2424

25-
- `IosIap` (should be `IosIAP` - IAP is suffix)
25+
- `OpenIap` (should be `OpenIAP` - IAP is suffix)
2626
- `IAPManager` (should be `IapManager`)
2727
- `IAPPurchase` (should be `IapPurchase`)
2828
- `IAPError` (should be `IapError`)
29-
- `IosIAPTests` (should be `IosIapTests` - IAP is in middle, not suffix)
29+
- `OpenIAPTests` (should be `OpenIapTests` - IAP is in middle, not suffix)
3030

3131
### Specific Cases
3232

CONTRIBUTING.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Contributing to IosIAP
1+
# Contributing to OpenIAP
22

3-
Thank you for your interest in contributing! We love your input and appreciate your efforts to make IosIAP better.
3+
Thank you for your interest in contributing! We love your input and appreciate your efforts to make OpenIAP better.
44

55
## Quick Start
66

@@ -16,8 +16,8 @@ Thank you for your interest in contributing! We love your input and appreciate y
1616

1717
```bash
1818
# Clone your fork
19-
git clone https://github.com/YOUR_USERNAME/ios-iap.git
20-
cd ios-iap
19+
git clone https://github.com/YOUR_USERNAME/openiap-apple.git
20+
cd openiap-apple
2121

2222
# Open in Xcode
2323
open Package.swift
@@ -35,7 +35,7 @@ swift test
3535

3636
### Naming Conventions
3737

38-
- **Acronyms**: Use Pascal case when at beginning/middle (`IapModule`, `IosIapTests`)
38+
- **Acronyms**: Use Pascal case when at beginning/middle (`IapModule`, `OpenIapTests`)
3939
- **Acronyms as suffix**: Use all caps (`ProductIAP`, `ManagerIOS`)
4040
- See [CLAUDE.md](CLAUDE.md) for detailed naming rules
4141

Example/Martie.xcodeproj/project.pbxproj

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10-
C0E1F5E92C8F1A9400123456 /* IosIapExampleApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0E1F5E82C8F1A9400123456 /* IosIapExampleApp.swift */; };
10+
C0E1F5E92C8F1A9400123456 /* OpenIapExampleApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0E1F5E82C8F1A9400123456 /* OpenIapExampleApp.swift */; };
1111
C0E1F5EB2C8F1A9400123456 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0E1F5EA2C8F1A9400123456 /* ContentView.swift */; };
1212
C0E1F5ED2C8F1A9500123456 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C0E1F5EC2C8F1A9500123456 /* Assets.xcassets */; };
1313
C0E1F5F02C8F1A9500123456 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C0E1F5EF2C8F1A9500123456 /* Preview Assets.xcassets */; };
@@ -18,12 +18,12 @@
1818
C0E1F6002C8F1ABA00123456 /* OfferCodeScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0E1F5FF2C8F1ABA00123456 /* OfferCodeScreen.swift */; };
1919
C0E1F6022C8F1AC000123456 /* StoreViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0E1F6012C8F1AC000123456 /* StoreViewModel.swift */; };
2020
C0E1F6042C8F1AC500123456 /* AppColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0E1F6032C8F1AC500123456 /* AppColors.swift */; };
21-
C0E1F6072C8F1AD000123456 /* IosIAP in Frameworks */ = {isa = PBXBuildFile; productRef = C0E1F6062C8F1AD000123456 /* IosIAP */; };
21+
C0E1F6072C8F1AD000123456 /* OpenIAP in Frameworks */ = {isa = PBXBuildFile; productRef = C0E1F6062C8F1AD000123456 /* OpenIAP */; };
2222
/* End PBXBuildFile section */
2323

2424
/* Begin PBXFileReference section */
25-
C0E1F5E52C8F1A9400123456 /* IosIapExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = IosIapExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
26-
C0E1F5E82C8F1A9400123456 /* IosIapExampleApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IosIapExampleApp.swift; sourceTree = "<group>"; };
25+
C0E1F5E52C8F1A9400123456 /* OpenIapExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OpenIapExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
26+
C0E1F5E82C8F1A9400123456 /* OpenIapExampleApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenIapExampleApp.swift; sourceTree = "<group>"; };
2727
C0E1F5EA2C8F1A9400123456 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
2828
C0E1F5EC2C8F1A9500123456 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
2929
C0E1F5EF2C8F1A9500123456 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
@@ -41,7 +41,7 @@
4141
isa = PBXFrameworksBuildPhase;
4242
buildActionMask = 2147483647;
4343
files = (
44-
C0E1F6072C8F1AD000123456 /* IosIAP in Frameworks */,
44+
C0E1F6072C8F1AD000123456 /* OpenIAP in Frameworks */,
4545
);
4646
runOnlyForDeploymentPostprocessing = 0;
4747
};
@@ -51,31 +51,31 @@
5151
C0E1F5DC2C8F1A9400123456 = {
5252
isa = PBXGroup;
5353
children = (
54-
C0E1F5E72C8F1A9400123456 /* IosIapExample */,
54+
C0E1F5E72C8F1A9400123456 /* OpenIapExample */,
5555
C0E1F5E62C8F1A9400123456 /* Products */,
5656
);
5757
sourceTree = "<group>";
5858
};
5959
C0E1F5E62C8F1A9400123456 /* Products */ = {
6060
isa = PBXGroup;
6161
children = (
62-
C0E1F5E52C8F1A9400123456 /* IosIapExample.app */,
62+
C0E1F5E52C8F1A9400123456 /* OpenIapExample.app */,
6363
);
6464
name = Products;
6565
sourceTree = "<group>";
6666
};
67-
C0E1F5E72C8F1A9400123456 /* IosIapExample */ = {
67+
C0E1F5E72C8F1A9400123456 /* OpenIapExample */ = {
6868
isa = PBXGroup;
6969
children = (
7070
C0E1F6082C8F1AD500123456 /* Screens */,
7171
C0E1F6092C8F1ADB00123456 /* ViewModels */,
7272
C0E1F60A2C8F1AE000123456 /* Models */,
73-
C0E1F5E82C8F1A9400123456 /* IosIapExampleApp.swift */,
73+
C0E1F5E82C8F1A9400123456 /* OpenIapExampleApp.swift */,
7474
C0E1F5EA2C8F1A9400123456 /* ContentView.swift */,
7575
C0E1F5EC2C8F1A9500123456 /* Assets.xcassets */,
7676
C0E1F5EE2C8F1A9500123456 /* Preview Content */,
7777
);
78-
path = IosIapExample;
78+
path = OpenIapExample;
7979
sourceTree = "<group>";
8080
};
8181
C0E1F5EE2C8F1A9500123456 /* Preview Content */ = {
@@ -117,9 +117,9 @@
117117
/* End PBXGroup section */
118118

119119
/* Begin PBXNativeTarget section */
120-
C0E1F5E42C8F1A9400123456 /* IosIapExample */ = {
120+
C0E1F5E42C8F1A9400123456 /* OpenIapExample */ = {
121121
isa = PBXNativeTarget;
122-
buildConfigurationList = C0E1F5F32C8F1A9500123456 /* Build configuration list for PBXNativeTarget "IosIapExample" */;
122+
buildConfigurationList = C0E1F5F32C8F1A9500123456 /* Build configuration list for PBXNativeTarget "OpenIapExample" */;
123123
buildPhases = (
124124
C0E1F5E12C8F1A9400123456 /* Sources */,
125125
C0E1F5E22C8F1A9400123456 /* Frameworks */,
@@ -129,12 +129,12 @@
129129
);
130130
dependencies = (
131131
);
132-
name = IosIapExample;
132+
name = OpenIapExample;
133133
packageProductDependencies = (
134-
C0E1F6062C8F1AD000123456 /* IosIAP */,
134+
C0E1F6062C8F1AD000123456 /* OpenIAP */,
135135
);
136-
productName = IosIapExample;
137-
productReference = C0E1F5E52C8F1A9400123456 /* IosIapExample.app */;
136+
productName = OpenIapExample;
137+
productReference = C0E1F5E52C8F1A9400123456 /* OpenIapExample.app */;
138138
productType = "com.apple.product-type.application";
139139
};
140140
/* End PBXNativeTarget section */
@@ -152,7 +152,7 @@
152152
};
153153
};
154154
};
155-
buildConfigurationList = C0E1F5E02C8F1A9400123456 /* Build configuration list for PBXProject "IosIapExample" */;
155+
buildConfigurationList = C0E1F5E02C8F1A9400123456 /* Build configuration list for PBXProject "OpenIapExample" */;
156156
compatibilityVersion = "Xcode 14.0";
157157
developmentRegion = en;
158158
hasScannedForEncodings = 0;
@@ -168,7 +168,7 @@
168168
projectDirPath = "";
169169
projectRoot = "";
170170
targets = (
171-
C0E1F5E42C8F1A9400123456 /* IosIapExample */,
171+
C0E1F5E42C8F1A9400123456 /* OpenIapExample */,
172172
);
173173
};
174174
/* End PBXProject section */
@@ -198,7 +198,7 @@
198198
C0E1F6002C8F1ABA00123456 /* OfferCodeScreen.swift in Sources */,
199199
C0E1F6022C8F1AC000123456 /* StoreViewModel.swift in Sources */,
200200
C0E1F6042C8F1AC500123456 /* AppColors.swift in Sources */,
201-
C0E1F5E92C8F1A9400123456 /* IosIapExampleApp.swift in Sources */,
201+
C0E1F5E92C8F1A9400123456 /* OpenIapExampleApp.swift in Sources */,
202202
);
203203
runOnlyForDeploymentPostprocessing = 0;
204204
};
@@ -331,11 +331,11 @@
331331
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
332332
CODE_SIGN_STYLE = Automatic;
333333
CURRENT_PROJECT_VERSION = 1;
334-
DEVELOPMENT_ASSET_PATHS = "\"IosIapExample/Preview Content\"";
334+
DEVELOPMENT_ASSET_PATHS = "\"OpenIapExample/Preview Content\"";
335335
DEVELOPMENT_TEAM = PRDQGB267K;
336336
ENABLE_PREVIEWS = YES;
337337
GENERATE_INFOPLIST_FILE = YES;
338-
INFOPLIST_KEY_CFBundleDisplayName = "IosIAP Example";
338+
INFOPLIST_KEY_CFBundleDisplayName = "OpenIAP Example";
339339
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
340340
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
341341
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
@@ -362,11 +362,11 @@
362362
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
363363
CODE_SIGN_STYLE = Automatic;
364364
CURRENT_PROJECT_VERSION = 1;
365-
DEVELOPMENT_ASSET_PATHS = "\"IosIapExample/Preview Content\"";
365+
DEVELOPMENT_ASSET_PATHS = "\"OpenIapExample/Preview Content\"";
366366
DEVELOPMENT_TEAM = PRDQGB267K;
367367
ENABLE_PREVIEWS = YES;
368368
GENERATE_INFOPLIST_FILE = YES;
369-
INFOPLIST_KEY_CFBundleDisplayName = "IosIAP Example";
369+
INFOPLIST_KEY_CFBundleDisplayName = "OpenIAP Example";
370370
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
371371
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
372372
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
@@ -389,7 +389,7 @@
389389
/* End XCBuildConfiguration section */
390390

391391
/* Begin XCConfigurationList section */
392-
C0E1F5E02C8F1A9400123456 /* Build configuration list for PBXProject "IosIapExample" */ = {
392+
C0E1F5E02C8F1A9400123456 /* Build configuration list for PBXProject "OpenIapExample" */ = {
393393
isa = XCConfigurationList;
394394
buildConfigurations = (
395395
C0E1F5F12C8F1A9500123456 /* Debug */,
@@ -398,7 +398,7 @@
398398
defaultConfigurationIsVisible = 0;
399399
defaultConfigurationName = Release;
400400
};
401-
C0E1F5F32C8F1A9500123456 /* Build configuration list for PBXNativeTarget "IosIapExample" */ = {
401+
C0E1F5F32C8F1A9500123456 /* Build configuration list for PBXNativeTarget "OpenIapExample" */ = {
402402
isa = XCConfigurationList;
403403
buildConfigurations = (
404404
C0E1F5F42C8F1A9500123456 /* Debug */,
@@ -417,10 +417,10 @@
417417
/* End XCLocalSwiftPackageReference section */
418418

419419
/* Begin XCSwiftPackageProductDependency section */
420-
C0E1F6062C8F1AD000123456 /* IosIAP */ = {
420+
C0E1F6062C8F1AD000123456 /* OpenIAP */ = {
421421
isa = XCSwiftPackageProductDependency;
422422
package = C0E1F6052C8F1AD000123456 /* XCLocalSwiftPackageReference ".." */;
423-
productName = IosIAP;
423+
productName = OpenIAP;
424424
};
425425
/* End XCSwiftPackageProductDependency section */
426426
};

Example/IosIapExample/Assets.xcassets/AccentColor.colorset/Contents.json renamed to Example/OpenIapExample/Assets.xcassets/AccentColor.colorset/Contents.json

File renamed without changes.

Example/IosIapExample/Assets.xcassets/AppIcon.appiconset/Contents.json renamed to Example/OpenIapExample/Assets.xcassets/AppIcon.appiconset/Contents.json

File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)