Merge pull request #16 from nventive/dev/jela/ios
Enable iOS build generation
|
@ -32,4 +32,4 @@ jobs:
|
||||||
inputs:
|
inputs:
|
||||||
pathToPublish: $(build.artifactstagingdirectory)
|
pathToPublish: $(build.artifactstagingdirectory)
|
||||||
artifactType: container
|
artifactType: container
|
||||||
artifactName: UnoBanner
|
artifactName: Calculator
|
||||||
|
|
75
.vsts-ci.iOS.yml
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
jobs:
|
||||||
|
- job: iOS
|
||||||
|
|
||||||
|
pool:
|
||||||
|
vmImage: 'macOS-10.14'
|
||||||
|
|
||||||
|
variables:
|
||||||
|
NUGET_PACKAGES: $(build.sourcesdirectory)/.nuget
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- checkout: self
|
||||||
|
clean: true
|
||||||
|
|
||||||
|
- bash: /bin/bash -c "sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh 5_18_1"
|
||||||
|
displayName: Select Xamarin Version
|
||||||
|
|
||||||
|
- bash: |
|
||||||
|
shopt -s nullglob
|
||||||
|
function join_by { local IFS="$1"; shift; echo "$*"; }
|
||||||
|
lib_path=$(join_by ';' $(Agent.WorkFolder)/_tasks/GitVersion*/4.0.*/lib/osx)
|
||||||
|
echo LD_LIBRARY_PATH: $lib_path
|
||||||
|
echo "##vso[task.setvariable variable=LD_LIBRARY_PATH]$lib_path"
|
||||||
|
displayName: Update LD_LIBRARY_PATH for GitVersion
|
||||||
|
|
||||||
|
- task: GitVersion@4
|
||||||
|
inputs:
|
||||||
|
updateAssemblyInfo: false
|
||||||
|
|
||||||
|
- task: InstallAppleCertificate@2
|
||||||
|
displayName: 'Install an Apple certificate'
|
||||||
|
inputs:
|
||||||
|
certSecureFile: 'nventive-appstore-prod-20190521.p12'
|
||||||
|
certPwd: '$(iOSSigning.CertificatePwd)'
|
||||||
|
signingIdentity: '$(iOSSigning.CertificateIdentity)'
|
||||||
|
|
||||||
|
- task: InstallAppleProvisioningProfile@1
|
||||||
|
displayName: 'Install an Apple provisioning profile'
|
||||||
|
inputs:
|
||||||
|
provProfileSecureFile: 'Uno_Calculator.mobileprovision'
|
||||||
|
|
||||||
|
- bash: |
|
||||||
|
cd $(build.sourcesdirectory)/src/CalcManager
|
||||||
|
chmod +x build_ios.sh
|
||||||
|
./build_ios.sh
|
||||||
|
|
||||||
|
displayName: Build native CalcManager
|
||||||
|
|
||||||
|
- task: MSBuild@1
|
||||||
|
inputs:
|
||||||
|
solution: '$(build.sourcesdirectory)/src/Calculator.iOS/Calculator.iOS.csproj'
|
||||||
|
msbuildLocationMethod: version
|
||||||
|
msbuildVersion: latest
|
||||||
|
msbuildArchitecture: x86
|
||||||
|
msbuildArguments: /r /p:Configuration=Release /p:Platform=iPhone /detailedsummary /m:16 /nr:false "/p:InformationalVersion=%GITVERSION_InformationalVersion%"
|
||||||
|
clean: false
|
||||||
|
maximumCpuCount: true
|
||||||
|
restoreNugetPackages: false
|
||||||
|
logProjectEvents: true
|
||||||
|
createLogFile: true
|
||||||
|
|
||||||
|
- task: CopyFiles@2
|
||||||
|
displayName: 'Publish iOS Binaries'
|
||||||
|
inputs:
|
||||||
|
SourceFolder: $(build.sourcesdirectory)/src/Calculator.iOS/bin/iPhone/Release
|
||||||
|
Contents: '*.ipa'
|
||||||
|
TargetFolder: $(build.artifactstagingdirectory)
|
||||||
|
CleanTargetFolder: false
|
||||||
|
OverWrite: false
|
||||||
|
flattenFolders: false
|
||||||
|
|
||||||
|
- task: PublishBuildArtifacts@1
|
||||||
|
inputs:
|
||||||
|
PathtoPublish: $(build.artifactstagingdirectory)
|
||||||
|
ArtifactName: Uno-Calculator-iOS
|
||||||
|
ArtifactType: Container
|
|
@ -6,3 +6,4 @@ resources:
|
||||||
jobs:
|
jobs:
|
||||||
- template: .vsts-ci.Windows.yml
|
- template: .vsts-ci.Windows.yml
|
||||||
- template: .vsts-ci.Linux.yml
|
- template: .vsts-ci.Linux.yml
|
||||||
|
- template: .vsts-ci.iOS.yml
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
xcrun -sdk iphoneos clang \
|
xcrun -sdk iphoneos clang \
|
||||||
-x c++ \
|
-x c++ \
|
||||||
-arch arm64 \
|
-arch arm64 \
|
||||||
|
-miphoneos-version-min=10.0 \
|
||||||
-std=c++1z \
|
-std=c++1z \
|
||||||
-stdlib=libc++ \
|
-stdlib=libc++ \
|
||||||
-c \
|
-c \
|
||||||
|
|
|
@ -26,6 +26,13 @@
|
||||||
<MtouchLink>None</MtouchLink>
|
<MtouchLink>None</MtouchLink>
|
||||||
<MtouchDebug>true</MtouchDebug>
|
<MtouchDebug>true</MtouchDebug>
|
||||||
<MtouchExtraArgs>-gcc_flags "-lc++ -lstdc++"</MtouchExtraArgs>
|
<MtouchExtraArgs>-gcc_flags "-lc++ -lstdc++"</MtouchExtraArgs>
|
||||||
|
<MtouchSdkVersion>
|
||||||
|
</MtouchSdkVersion>
|
||||||
|
<CodesignKey>iPhone Developer</CodesignKey>
|
||||||
|
<CodesignProvision />
|
||||||
|
<CodesignExtraArgs />
|
||||||
|
<CodesignResourceRules />
|
||||||
|
<CodesignEntitlements />
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
|
||||||
<DebugType>portable</DebugType>
|
<DebugType>portable</DebugType>
|
||||||
|
@ -37,6 +44,11 @@
|
||||||
<MtouchArch>x86_64</MtouchArch>
|
<MtouchArch>x86_64</MtouchArch>
|
||||||
<ConsolePause>false</ConsolePause>
|
<ConsolePause>false</ConsolePause>
|
||||||
<MtouchExtraArgs>-gcc_flags "-lc++ -lstdc++"</MtouchExtraArgs>
|
<MtouchExtraArgs>-gcc_flags "-lc++ -lstdc++"</MtouchExtraArgs>
|
||||||
|
<CodesignKey>iPhone Distribution</CodesignKey>
|
||||||
|
<CodesignProvision />
|
||||||
|
<CodesignExtraArgs />
|
||||||
|
<CodesignResourceRules />
|
||||||
|
<CodesignEntitlements />
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
@ -52,6 +64,7 @@
|
||||||
<CodesignKey>iPhone Developer</CodesignKey>
|
<CodesignKey>iPhone Developer</CodesignKey>
|
||||||
<MtouchDebug>true</MtouchDebug>
|
<MtouchDebug>true</MtouchDebug>
|
||||||
<MtouchExtraArgs>-gcc_flags "-lc++ -lstdc++"</MtouchExtraArgs>
|
<MtouchExtraArgs>-gcc_flags "-lc++ -lstdc++"</MtouchExtraArgs>
|
||||||
|
<BuildIpa>true</BuildIpa>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
|
||||||
<DebugType>none</DebugType>
|
<DebugType>none</DebugType>
|
||||||
|
@ -59,11 +72,18 @@
|
||||||
<OutputPath>bin\iPhone\Release</OutputPath>
|
<OutputPath>bin\iPhone\Release</OutputPath>
|
||||||
<ErrorReport>prompt</ErrorReport>
|
<ErrorReport>prompt</ErrorReport>
|
||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
<CodesignEntitlements>
|
||||||
|
</CodesignEntitlements>
|
||||||
<MtouchArch>ARM64</MtouchArch>
|
<MtouchArch>ARM64</MtouchArch>
|
||||||
<ConsolePause>false</ConsolePause>
|
<ConsolePause>false</ConsolePause>
|
||||||
<CodesignKey>iPhone Developer</CodesignKey>
|
<MtouchExtraArgs>-gcc_flags "-lc++ -lstdc++" --setenv=MONO_GC_PARAMS=soft-heap-limit=512m,nursery-size=64m,evacuation-threshold=66,major=marksweep,concurrent-sweep</MtouchExtraArgs>
|
||||||
<MtouchExtraArgs>-gcc_flags "-lc++ -lstdc++"</MtouchExtraArgs>
|
<CodesignProvision>Uno Calculator</CodesignProvision>
|
||||||
|
<CodesignKey>iPhone Distribution</CodesignKey>
|
||||||
|
<CodesignExtraArgs />
|
||||||
|
<CodesignResourceRules />
|
||||||
|
<MtouchUseLlvm>true</MtouchUseLlvm>
|
||||||
|
<MtouchEnableSGenConc>true</MtouchEnableSGenConc>
|
||||||
|
<BuildIpa>true</BuildIpa>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' ">
|
||||||
<DebugType>none</DebugType>
|
<DebugType>none</DebugType>
|
||||||
|
@ -90,6 +110,9 @@
|
||||||
<CodesignProvision>Automatic:AppStore</CodesignProvision>
|
<CodesignProvision>Automatic:AppStore</CodesignProvision>
|
||||||
<CodesignKey>iPhone Distribution</CodesignKey>
|
<CodesignKey>iPhone Distribution</CodesignKey>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(RunConfiguration)' == 'Default' ">
|
||||||
|
<AppExtensionDebugBundleId />
|
||||||
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Main.cs" />
|
<Compile Include="Main.cs" />
|
||||||
<None Include="Info.plist">
|
<None Include="Info.plist">
|
||||||
|
@ -104,6 +127,35 @@
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="Xamarin.iOS" />
|
<Reference Include="Xamarin.iOS" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\Contents.json">
|
||||||
|
<Visible>false</Visible>
|
||||||
|
</ImageAsset>
|
||||||
|
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\ios-marketing-1024x1024@1x.png">
|
||||||
|
<Visible>false</Visible>
|
||||||
|
</ImageAsset>
|
||||||
|
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\iPad-76x76@2x.png">
|
||||||
|
<Visible>false</Visible>
|
||||||
|
</ImageAsset>
|
||||||
|
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\iPad-84x84@2x.png">
|
||||||
|
<Visible>false</Visible>
|
||||||
|
</ImageAsset>
|
||||||
|
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\iPhone-20x20@2x.png">
|
||||||
|
<Visible>false</Visible>
|
||||||
|
</ImageAsset>
|
||||||
|
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\iPhone-20x20@3x.png">
|
||||||
|
<Visible>false</Visible>
|
||||||
|
</ImageAsset>
|
||||||
|
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\iPhone-40x40@3x.png">
|
||||||
|
<Visible>false</Visible>
|
||||||
|
</ImageAsset>
|
||||||
|
<ImageAsset Include="Media.xcassets\AppIcons.appiconset\iPhone-60x60@2x.png">
|
||||||
|
<Visible>false</Visible>
|
||||||
|
</ImageAsset>
|
||||||
|
<ImageAsset Include="Media.xcassets\LaunchImages.launchimage\Contents.json">
|
||||||
|
<Visible>false</Visible>
|
||||||
|
</ImageAsset>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<BundleResource Include="Resources\Fonts\winjs-symbols.ttf" />
|
<BundleResource Include="Resources\Fonts\winjs-symbols.ttf" />
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?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">
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
<key>CFBundleDisplayName</key>
|
<key>CFBundleDisplayName</key>
|
||||||
<string>UnoQuickStart.iOS</string>
|
<string>Uno Calculator</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>com.companyname.WindowsCalculator</string>
|
<string>uno.platform.calculator</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>1.0</string>
|
<string>1.0</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
<key>LSRequiresIPhoneOS</key>
|
<key>LSRequiresIPhoneOS</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>MinimumOSVersion</key>
|
<key>MinimumOSVersion</key>
|
||||||
<string>9.0</string>
|
<string>10.0</string>
|
||||||
<key>UIDeviceFamily</key>
|
<key>UIDeviceFamily</key>
|
||||||
<array>
|
<array>
|
||||||
<integer>1</integer>
|
<integer>1</integer>
|
||||||
|
@ -43,5 +43,7 @@
|
||||||
<string>Fonts/winjs-symbols.ttf</string>
|
<string>Fonts/winjs-symbols.ttf</string>
|
||||||
<string>Fonts/CalcMDL2.ttf</string>
|
<string>Fonts/CalcMDL2.ttf</string>
|
||||||
</array>
|
</array>
|
||||||
|
<key>UIRequiresFullScreen</key>
|
||||||
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|
|
@ -0,0 +1,106 @@
|
||||||
|
{
|
||||||
|
"images": [
|
||||||
|
{
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "29x29",
|
||||||
|
"idiom": "iphone"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scale": "3x",
|
||||||
|
"size": "29x29",
|
||||||
|
"idiom": "iphone"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "40x40",
|
||||||
|
"idiom": "iphone"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scale": "3x",
|
||||||
|
"size": "60x60",
|
||||||
|
"idiom": "iphone"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scale": "1x",
|
||||||
|
"size": "20x20",
|
||||||
|
"idiom": "ipad"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "20x20",
|
||||||
|
"idiom": "ipad"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scale": "1x",
|
||||||
|
"size": "29x29",
|
||||||
|
"idiom": "ipad"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "29x29",
|
||||||
|
"idiom": "ipad"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scale": "1x",
|
||||||
|
"size": "40x40",
|
||||||
|
"idiom": "ipad"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "40x40",
|
||||||
|
"idiom": "ipad"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scale": "1x",
|
||||||
|
"size": "76x76",
|
||||||
|
"idiom": "ipad"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "20x20",
|
||||||
|
"idiom": "iphone",
|
||||||
|
"filename": "iPhone-20x20@2x.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scale": "3x",
|
||||||
|
"size": "20x20",
|
||||||
|
"idiom": "iphone",
|
||||||
|
"filename": "iPhone-20x20@3x.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scale": "3x",
|
||||||
|
"size": "40x40",
|
||||||
|
"idiom": "iphone",
|
||||||
|
"filename": "iPhone-40x40@3x.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "60x60",
|
||||||
|
"idiom": "iphone",
|
||||||
|
"filename": "iPhone-60x60@2x.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "76x76",
|
||||||
|
"idiom": "ipad",
|
||||||
|
"filename": "iPad-76x76@2x.png squaretile-sdk-ipad.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "83.5x83.5",
|
||||||
|
"idiom": "ipad",
|
||||||
|
"filename": "iPad-84x84@2x.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"scale": "1x",
|
||||||
|
"size": "1024x1024",
|
||||||
|
"idiom": "ios-marketing",
|
||||||
|
"filename": "ios-marketing-1024x1024@1x.png"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"properties": {},
|
||||||
|
"info": {
|
||||||
|
"version": 1,
|
||||||
|
"author": "xcode"
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 224 B |
After Width: | Height: | Size: 308 B |
After Width: | Height: | Size: 971 B |
After Width: | Height: | Size: 971 B |
After Width: | Height: | Size: 11 KiB |
|
@ -0,0 +1,58 @@
|
||||||
|
{
|
||||||
|
"images": [
|
||||||
|
{
|
||||||
|
"orientation": "portrait",
|
||||||
|
"extent": "full-screen",
|
||||||
|
"minimum-system-version": "7.0",
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "640x960",
|
||||||
|
"idiom": "iphone"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation": "portrait",
|
||||||
|
"extent": "full-screen",
|
||||||
|
"minimum-system-version": "7.0",
|
||||||
|
"subtype": "retina4",
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "640x1136",
|
||||||
|
"idiom": "iphone"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation": "portrait",
|
||||||
|
"extent": "full-screen",
|
||||||
|
"minimum-system-version": "7.0",
|
||||||
|
"scale": "1x",
|
||||||
|
"size": "768x1024",
|
||||||
|
"idiom": "ipad"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation": "landscape",
|
||||||
|
"extent": "full-screen",
|
||||||
|
"minimum-system-version": "7.0",
|
||||||
|
"scale": "1x",
|
||||||
|
"size": "1024x768",
|
||||||
|
"idiom": "ipad"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation": "portrait",
|
||||||
|
"extent": "full-screen",
|
||||||
|
"minimum-system-version": "7.0",
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "1536x2048",
|
||||||
|
"idiom": "ipad"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation": "landscape",
|
||||||
|
"extent": "full-screen",
|
||||||
|
"minimum-system-version": "7.0",
|
||||||
|
"scale": "2x",
|
||||||
|
"size": "2048x1536",
|
||||||
|
"idiom": "ipad"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"properties": {},
|
||||||
|
"info": {
|
||||||
|
"version": 1,
|
||||||
|
"author": ""
|
||||||
|
}
|
||||||
|
}
|