mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-12 08:13:26 +01:00
iOS 13.3.1 limits free developer accounts to 3 apps and app extensions. As a workaround, we now allow up to 3 “active” apps (apps with installed provisioning profiles), as well as additional “inactivate” apps which don’t have any profiles installed, causing them to not count towards the total. Inactive apps cannot be opened until they are activated.
169 lines
12 KiB
XML
169 lines
12 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="16117.1" systemVersion="19D76" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
|
|
<entity name="Account" representedClassName="Account" syncable="YES">
|
|
<attribute name="appleID" attributeType="String"/>
|
|
<attribute name="firstName" attributeType="String"/>
|
|
<attribute name="identifier" attributeType="String"/>
|
|
<attribute name="isActiveAccount" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
|
|
<attribute name="lastName" attributeType="String"/>
|
|
<relationship name="teams" toMany="YES" deletionRule="Cascade" destinationEntity="Team" inverseName="account" inverseEntity="Team"/>
|
|
<uniquenessConstraints>
|
|
<uniquenessConstraint>
|
|
<constraint value="identifier"/>
|
|
</uniquenessConstraint>
|
|
</uniquenessConstraints>
|
|
</entity>
|
|
<entity name="AppID" representedClassName="AppID" syncable="YES">
|
|
<attribute name="bundleIdentifier" attributeType="String"/>
|
|
<attribute name="expirationDate" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
|
|
<attribute name="features" attributeType="Transformable"/>
|
|
<attribute name="identifier" attributeType="String"/>
|
|
<attribute name="name" attributeType="String"/>
|
|
<relationship name="team" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Team" inverseName="appIDs" inverseEntity="Team"/>
|
|
<uniquenessConstraints>
|
|
<uniquenessConstraint>
|
|
<constraint value="identifier"/>
|
|
</uniquenessConstraint>
|
|
</uniquenessConstraints>
|
|
</entity>
|
|
<entity name="AppPermission" representedClassName="AppPermission" syncable="YES">
|
|
<attribute name="type" attributeType="String"/>
|
|
<attribute name="usageDescription" attributeType="String"/>
|
|
<relationship name="app" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="StoreApp" inverseName="permissions" inverseEntity="StoreApp"/>
|
|
</entity>
|
|
<entity name="InstalledApp" representedClassName="InstalledApp" syncable="YES">
|
|
<attribute name="bundleIdentifier" attributeType="String"/>
|
|
<attribute name="certificateSerialNumber" optional="YES" attributeType="String"/>
|
|
<attribute name="expirationDate" attributeType="Date" usesScalarValueType="NO"/>
|
|
<attribute name="installedDate" attributeType="Date" usesScalarValueType="NO"/>
|
|
<attribute name="isActive" attributeType="Boolean" defaultValueString="YES" usesScalarValueType="YES"/>
|
|
<attribute name="name" attributeType="String"/>
|
|
<attribute name="refreshedDate" attributeType="Date" usesScalarValueType="NO"/>
|
|
<attribute name="resignedBundleIdentifier" attributeType="String"/>
|
|
<attribute name="version" attributeType="String"/>
|
|
<relationship name="appExtensions" toMany="YES" deletionRule="Cascade" destinationEntity="InstalledExtension" inverseName="parentApp" inverseEntity="InstalledExtension"/>
|
|
<relationship name="storeApp" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="StoreApp" inverseName="installedApp" inverseEntity="StoreApp"/>
|
|
<relationship name="team" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Team" inverseName="installedApps" inverseEntity="Team"/>
|
|
<uniquenessConstraints>
|
|
<uniquenessConstraint>
|
|
<constraint value="bundleIdentifier"/>
|
|
</uniquenessConstraint>
|
|
</uniquenessConstraints>
|
|
</entity>
|
|
<entity name="InstalledExtension" representedClassName="InstalledExtension" syncable="YES">
|
|
<attribute name="bundleIdentifier" attributeType="String"/>
|
|
<attribute name="expirationDate" attributeType="Date" usesScalarValueType="NO"/>
|
|
<attribute name="installedDate" attributeType="Date" usesScalarValueType="NO"/>
|
|
<attribute name="name" attributeType="String"/>
|
|
<attribute name="refreshedDate" attributeType="Date" usesScalarValueType="NO"/>
|
|
<attribute name="resignedBundleIdentifier" attributeType="String"/>
|
|
<attribute name="version" attributeType="String"/>
|
|
<relationship name="parentApp" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="InstalledApp" inverseName="appExtensions" inverseEntity="InstalledApp"/>
|
|
</entity>
|
|
<entity name="NewsItem" representedClassName="NewsItem" syncable="YES">
|
|
<attribute name="appID" optional="YES" attributeType="String"/>
|
|
<attribute name="caption" attributeType="String"/>
|
|
<attribute name="date" attributeType="Date" usesScalarValueType="NO"/>
|
|
<attribute name="externalURL" optional="YES" attributeType="URI"/>
|
|
<attribute name="identifier" attributeType="String"/>
|
|
<attribute name="imageURL" optional="YES" attributeType="URI"/>
|
|
<attribute name="isSilent" attributeType="Boolean" defaultValueString="YES" usesScalarValueType="YES"/>
|
|
<attribute name="sortIndex" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES"/>
|
|
<attribute name="tintColor" optional="YES" attributeType="Transformable"/>
|
|
<attribute name="title" attributeType="String"/>
|
|
<relationship name="source" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Source" inverseName="newsItems" inverseEntity="Source"/>
|
|
<relationship name="storeApp" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="StoreApp" inverseName="newsItems" inverseEntity="StoreApp"/>
|
|
<uniquenessConstraints>
|
|
<uniquenessConstraint>
|
|
<constraint value="identifier"/>
|
|
</uniquenessConstraint>
|
|
</uniquenessConstraints>
|
|
</entity>
|
|
<entity name="PatreonAccount" representedClassName="PatreonAccount" syncable="YES">
|
|
<attribute name="firstName" optional="YES" attributeType="String"/>
|
|
<attribute name="identifier" attributeType="String"/>
|
|
<attribute name="isPatron" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
|
|
<attribute name="name" attributeType="String"/>
|
|
<uniquenessConstraints>
|
|
<uniquenessConstraint>
|
|
<constraint value="identifier"/>
|
|
</uniquenessConstraint>
|
|
</uniquenessConstraints>
|
|
</entity>
|
|
<entity name="RefreshAttempt" representedClassName="RefreshAttempt" syncable="YES">
|
|
<attribute name="date" attributeType="Date" usesScalarValueType="NO"/>
|
|
<attribute name="errorDescription" optional="YES" attributeType="String"/>
|
|
<attribute name="identifier" attributeType="String"/>
|
|
<attribute name="isSuccess" attributeType="Boolean" defaultValueString="YES" usesScalarValueType="YES"/>
|
|
<uniquenessConstraints>
|
|
<uniquenessConstraint>
|
|
<constraint value="identifier"/>
|
|
</uniquenessConstraint>
|
|
</uniquenessConstraints>
|
|
</entity>
|
|
<entity name="Source" representedClassName="Source" syncable="YES">
|
|
<attribute name="identifier" attributeType="String"/>
|
|
<attribute name="name" attributeType="String"/>
|
|
<attribute name="sourceURL" attributeType="URI"/>
|
|
<relationship name="apps" toMany="YES" deletionRule="Nullify" ordered="YES" destinationEntity="StoreApp" inverseName="source" inverseEntity="StoreApp"/>
|
|
<relationship name="newsItems" toMany="YES" deletionRule="Nullify" ordered="YES" destinationEntity="NewsItem" inverseName="source" inverseEntity="NewsItem"/>
|
|
<uniquenessConstraints>
|
|
<uniquenessConstraint>
|
|
<constraint value="identifier"/>
|
|
</uniquenessConstraint>
|
|
</uniquenessConstraints>
|
|
</entity>
|
|
<entity name="StoreApp" representedClassName="StoreApp" syncable="YES">
|
|
<attribute name="bundleIdentifier" attributeType="String"/>
|
|
<attribute name="developerName" attributeType="String"/>
|
|
<attribute name="downloadURL" attributeType="URI"/>
|
|
<attribute name="iconURL" attributeType="URI"/>
|
|
<attribute name="isBeta" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
|
|
<attribute name="localizedDescription" attributeType="String"/>
|
|
<attribute name="name" attributeType="String"/>
|
|
<attribute name="screenshotURLs" attributeType="Transformable"/>
|
|
<attribute name="size" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES"/>
|
|
<attribute name="sortIndex" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES"/>
|
|
<attribute name="subtitle" optional="YES" attributeType="String"/>
|
|
<attribute name="tintColor" optional="YES" attributeType="Transformable"/>
|
|
<attribute name="version" attributeType="String"/>
|
|
<attribute name="versionDate" attributeType="Date" usesScalarValueType="NO"/>
|
|
<attribute name="versionDescription" optional="YES" attributeType="String"/>
|
|
<relationship name="installedApp" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="InstalledApp" inverseName="storeApp" inverseEntity="InstalledApp"/>
|
|
<relationship name="newsItems" toMany="YES" deletionRule="Nullify" destinationEntity="NewsItem" inverseName="storeApp" inverseEntity="NewsItem"/>
|
|
<relationship name="permissions" toMany="YES" deletionRule="Cascade" ordered="YES" destinationEntity="AppPermission" inverseName="app" inverseEntity="AppPermission"/>
|
|
<relationship name="source" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Source" inverseName="apps" inverseEntity="Source"/>
|
|
<uniquenessConstraints>
|
|
<uniquenessConstraint>
|
|
<constraint value="bundleIdentifier"/>
|
|
</uniquenessConstraint>
|
|
</uniquenessConstraints>
|
|
</entity>
|
|
<entity name="Team" representedClassName="Team" syncable="YES">
|
|
<attribute name="identifier" attributeType="String"/>
|
|
<attribute name="isActiveTeam" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
|
|
<attribute name="name" attributeType="String"/>
|
|
<attribute name="type" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
|
|
<relationship name="account" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Account" inverseName="teams" inverseEntity="Account"/>
|
|
<relationship name="appIDs" toMany="YES" deletionRule="Cascade" destinationEntity="AppID" inverseName="team" inverseEntity="AppID"/>
|
|
<relationship name="installedApps" toMany="YES" deletionRule="Nullify" destinationEntity="InstalledApp" inverseName="team" inverseEntity="InstalledApp"/>
|
|
<uniquenessConstraints>
|
|
<uniquenessConstraint>
|
|
<constraint value="identifier"/>
|
|
</uniquenessConstraint>
|
|
</uniquenessConstraints>
|
|
</entity>
|
|
<elements>
|
|
<element name="Account" positionX="-36" positionY="90" width="128" height="135"/>
|
|
<element name="AppID" positionX="-27" positionY="153" width="128" height="133"/>
|
|
<element name="AppPermission" positionX="-45" positionY="90" width="128" height="90"/>
|
|
<element name="InstalledApp" positionX="-63" positionY="0" width="128" height="223"/>
|
|
<element name="InstalledExtension" positionX="-45" positionY="135" width="128" height="163"/>
|
|
<element name="NewsItem" positionX="-45" positionY="126" width="128" height="225"/>
|
|
<element name="PatreonAccount" positionX="-45" positionY="117" width="128" height="105"/>
|
|
<element name="RefreshAttempt" positionX="-45" positionY="117" width="128" height="105"/>
|
|
<element name="Source" positionX="-45" positionY="99" width="128" height="120"/>
|
|
<element name="StoreApp" positionX="-63" positionY="-18" width="128" height="330"/>
|
|
<element name="Team" positionX="-45" positionY="81" width="128" height="148"/>
|
|
</elements>
|
|
</model> |