Full support for iOS 13+ Apple Sign In with Titanium.
The following project- and OS-requirements are necessary:
- Xcode 11+
- iOS 13+
- Titanium SDK 8.0.0+
This module was designed to follow a similar scheme like Ti.Facebook and Ti.GoogleSignIn.
var AppleSignIn = require('ti.applesignin');
AppleSignIn.addEventListener('login', function (event) {
if (!event.success) {
alert(event.error);
return;
}
Ti.API.warn(event);
});
var win = Ti.UI.createWindow({
backgroundColor: '#fff'
});
win.addEventListener('open', () => {
AppleSignIn.checkExistingAccounts();
});
var btn = AppleSignIn.createLoginButton({ width: 280, height: 38 });
btn.addEventListener('click', function () {
AppleSignIn.authorize();
});
win.add(btn);
win.open();
Checks for existing accounts (if available)
Creates a new localized login button.
Starts an authorization flow with an optional array of scoped. Defaults to all scopes (fullName
and email
).
Fetches the current credential state with a given user-id (received from the event.profile.userId
key of the login
event).
The result is returned to the state
parameter of the callback
and can be authorized, revoked, transferred or unknown.
The login event with the user's profile
.
- Add the following entitlements to your project:
<ios>
<!-- ... -->
<plist>
<dict>
<!-- ... -->
</dict>
</plist>
<entitlements>
<dict>
<key>com.apple.developer.applesignin</key>
<array>
<string>Default</string>
</array>
</dict>
</entitlements>
</ios>
- Make sure your server is eligible to send mails to the Apple Sign In provider service.
MIT
Hans Knöchel