Full support for iOS 13+ Apple Sign In with Titanium.
The following project- and OS-requirements are necessary:
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();
checkExistingAccounts()
Checks for existing accounts (if available)
createLoginButton()
Creates a new localized login button.
authorize({ scopes })
Starts an authorization flow with an optional array of scoped. Defaults to all scopes (fullName
and email
).
getCredentialState(userId, callback)
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.
login
The login event with the user's profile
.
[x] 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>
MIT
Hans Knöchel