package com.mobilesorcery.sdk.builder.iphoneos; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.util.Util; import com.mobilesorcery.sdk.core.IPropertyInitializerDelegate; import com.mobilesorcery.sdk.core.IPropertyOwner; import com.mobilesorcery.sdk.core.PropertyUtil; public class PropertyInitializer extends AbstractPreferenceInitializer implements IPropertyInitializerDelegate { private static final String PREFIX = "iphone:"; //$NON-NLS-1$ public static final String IPHONE_CERT = PREFIX + "cert"; //$NON-NLS-1$ public static final String IPHONE_PROJECT_SPECIFIC_CERT = IPHONE_CERT + "proj.spec"; //$NON-NLS-1$ public final static String IOS_SDK = PREFIX + "ios.sdk"; public final static String IOS_SDK_AUTO = IOS_SDK + ".auto"; public final static String IOS_SIM_SDK = IOS_SDK + ".simulator"; public final static String IOS_SIM_SDK_AUTO = IOS_SIM_SDK + ".auto"; public static final String IOS_BUNDLE_IDENTIFIER = PREFIX + "bundle.id"; public static final String IOS_PROVISIONING_FILE = PREFIX + "provisioning.file"; @Override public String getDefaultValue(IPropertyOwner p, String key) { if (IPHONE_PROJECT_SPECIFIC_CERT.equals(key)) { return PropertyUtil.fromBoolean(false); } else if (IOS_SDK_AUTO.equals(key) || IOS_SIM_SDK_AUTO.equals(key)){ return PropertyUtil.fromBoolean(true); } else if (IOS_BUNDLE_IDENTIFIER.equals(key)) { return "com.%app-vendor%.%project-name%"; } else if (IOS_PROVISIONING_FILE.equals(key)) { return ""; } else { return Activator.getDefault().getPreferenceStore().getString(key); } } @Override public void initializeDefaultPreferences() { IPreferenceStore store = Activator.getDefault().getPreferenceStore(); // The default cert; will also match user specific dev certs. store.setDefault(IPHONE_CERT, "iPhone Developer"); // And we try to build as much as we can; but sometimes we can't! store.setDefault(Activator.ONLY_GENERATE_XCODE_PROJECT, !Util.isMac()); } }