This repository contains Auth Service and Wallet Service sample source. It supports Solana and all EVM-compatiable chains now, more chains and more features coming soon! Learn more visit Particle Network.
Please note that the AuthCore SDKs only support ios-arm64
(iOS devices). We currently do not support ios-x86_64-simulator
(Intel chip simulators) and ios-arm64-simulator
(M-series chip simulators).
Install the following:
Xcode 15.0 or higher iOS 14 or higher
Xcode version | 15.0 or higher |
---|---|
ParticleConnectKit | 2.0.3 |
ParticleNetworkBase | 2.0.3 |
ParticleWalletAPI | 2.0.3 |
ParticleWalletGUI | 2.0.3 |
ParticleWalletConnect | 2.0.3 |
ParticleAA | 2.0.3 |
ParticleAuthCore | 2.0.3 |
ParticleMPCCore | 2.0.3 |
AuthCoreAdapter | 2.0.3 |
Thresh | 2.0.3 |
ParticleAuthService(deprecated) | --- |
From version 1.4.0, all SDKs have been adapted to Apple's privacy requirements.
The following third-party SDKs require the use of specific versions.
pod 'SwiftyUserDefaults', :git => 'https://github.com/SunZhiC/SwiftyUserDefaults.git', :branch => 'master'
# if you need ParticleWalletConnect, you should add this line.
pod 'WalletConnectSwiftV2', :git => 'https://github.com/SunZhiC/WalletConnectSwiftV2.git', :branch => 'particle'
# if you need ParticleAuthCore or ParticleWalletGUI, you should add this line.
pod 'SkeletonView', :git => 'https://github.com/SunZhiC/SkeletonView.git', :branch => 'main'
Starting from version 0.14.0, WalletConnectV2 is supported.
From 0.9.12, you should add more in Podfile If you use PartcleWalletGUI, you need add this one.
pod 'SkeletonView', :git => 'https://github.com/SunZhiC/SkeletonView.git', :branch => 'main'
From 0.8.6, we start to build SDK with XCFramework, that request copy the following text into Podfile.
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
end
end
end
<?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>PROJECT_UUID</key>
<string>YOUR_PROJECT_UUID</string>
<key>PROJECT_CLIENT_KEY</key>
<string>YOUR_PROJECT_CLIENT_KEY</string>
<key>PROJECT_APP_UUID</key>
<string>YOUR_PROJECT_APP_UUID</string>
</dict>
</plist>
* Config your app scheme url, select your app target, in the info section, click add URL Type, past your scheme in URL Schemes.
your scheme url should be "pn" + your project app id.
for example, if you project app id is "63bfa427-cf5f-4742-9ff1-e8f5a1b9826f", you scheme url is "pn63bfa427-cf5f-4742-9ff1-e8f5a1b9826f".
![image](https://user-images.githubusercontent.com/18244874/168455432-f25796b0-3a6a-4fa7-8ec6-adc5f8a0c46e.png)
* Add Privacy - Camera Usage Description to your info.plist file
## πΏ Build
pod install --repo-update
## π΄ββοΈ Other Demo
- **GuideSeries:** follow [iOS Guide](https://developers.particle.network/guides/wallet-as-a-service/waas/mobile-quickstart) step to step, add ParticleSDK to your project.
- **ParticleWalletConnectDemo** show how to integrate with ParticleWalletConnect, it use ParticleAuthService to handle request from dapp.
- **ParticleAuthDemo_deprecated** show how to integrate ParticleAuthService with a few code.
- **ParticleAuthDemo_Scene_deprecated** start from SceneDelegate.swift, show how to integrate ParticleAuthService when app start from SceneDelagate.swift with a few code.
## π¬ Features
1. Login with email, phone, facebook, google, apple etc.
2. Logout.
3. Open Wallet.
4. Change Chain Id.
5. Check our official dev docs: https://developers.particle.network/
## π Docs
1. https://developers.particle.network/api-reference/connect/mobile/ios
2. https://developers.particle.network/api-reference/auth/mobile-sdks/ios
3. https://developers.particle.network/api-reference/wallet/mobile/ios
4. https://developers.particle.network/api-reference/aa/sdks/mobile/ios
## πΌ Give Feedback
Please report bugs or issues to [particle-ios/issues](https://github.com/Particle-Network/particle-ios/issues)
You can also join our [Discord](https://discord.gg/2y44qr6CR2).