Merge pull request #16 from nventive/dev/jela/ios
Enable iOS build generation
|
@ -32,4 +32,4 @@ jobs:
|
|||
inputs:
|
||||
pathToPublish: $(build.artifactstagingdirectory)
|
||||
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:
|
||||
- template: .vsts-ci.Windows.yml
|
||||
- template: .vsts-ci.Linux.yml
|
||||
- template: .vsts-ci.iOS.yml
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
#!/bin/bash
|
||||
|
||||
xcrun -sdk iphoneos clang \
|
||||
-x c++ \
|
||||
-arch arm64 \
|
||||
-miphoneos-version-min=10.0 \
|
||||
-std=c++1z \
|
||||
-stdlib=libc++ \
|
||||
-c \
|
||||
|
|
|
@ -26,6 +26,13 @@
|
|||
<MtouchLink>None</MtouchLink>
|
||||
<MtouchDebug>true</MtouchDebug>
|
||||
<MtouchExtraArgs>-gcc_flags "-lc++ -lstdc++"</MtouchExtraArgs>
|
||||
<MtouchSdkVersion>
|
||||
</MtouchSdkVersion>
|
||||
<CodesignKey>iPhone Developer</CodesignKey>
|
||||
<CodesignProvision />
|
||||
<CodesignExtraArgs />
|
||||
<CodesignResourceRules />
|
||||
<CodesignEntitlements />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
|
||||
<DebugType>portable</DebugType>
|
||||
|
@ -37,6 +44,11 @@
|
|||
<MtouchArch>x86_64</MtouchArch>
|
||||
<ConsolePause>false</ConsolePause>
|
||||
<MtouchExtraArgs>-gcc_flags "-lc++ -lstdc++"</MtouchExtraArgs>
|
||||
<CodesignKey>iPhone Distribution</CodesignKey>
|
||||
<CodesignProvision />
|
||||
<CodesignExtraArgs />
|
||||
<CodesignResourceRules />
|
||||
<CodesignEntitlements />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
|
@ -52,6 +64,7 @@
|
|||
<CodesignKey>iPhone Developer</CodesignKey>
|
||||
<MtouchDebug>true</MtouchDebug>
|
||||
<MtouchExtraArgs>-gcc_flags "-lc++ -lstdc++"</MtouchExtraArgs>
|
||||
<BuildIpa>true</BuildIpa>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
|
||||
<DebugType>none</DebugType>
|
||||
|
@ -59,11 +72,18 @@
|
|||
<OutputPath>bin\iPhone\Release</OutputPath>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||
<CodesignEntitlements>
|
||||
</CodesignEntitlements>
|
||||
<MtouchArch>ARM64</MtouchArch>
|
||||
<ConsolePause>false</ConsolePause>
|
||||
<CodesignKey>iPhone Developer</CodesignKey>
|
||||
<MtouchExtraArgs>-gcc_flags "-lc++ -lstdc++"</MtouchExtraArgs>
|
||||
<MtouchExtraArgs>-gcc_flags "-lc++ -lstdc++" --setenv=MONO_GC_PARAMS=soft-heap-limit=512m,nursery-size=64m,evacuation-threshold=66,major=marksweep,concurrent-sweep</MtouchExtraArgs>
|
||||
<CodesignProvision>Uno Calculator</CodesignProvision>
|
||||
<CodesignKey>iPhone Distribution</CodesignKey>
|
||||
<CodesignExtraArgs />
|
||||
<CodesignResourceRules />
|
||||
<MtouchUseLlvm>true</MtouchUseLlvm>
|
||||
<MtouchEnableSGenConc>true</MtouchEnableSGenConc>
|
||||
<BuildIpa>true</BuildIpa>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' ">
|
||||
<DebugType>none</DebugType>
|
||||
|
@ -90,6 +110,9 @@
|
|||
<CodesignProvision>Automatic:AppStore</CodesignProvision>
|
||||
<CodesignKey>iPhone Distribution</CodesignKey>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(RunConfiguration)' == 'Default' ">
|
||||
<AppExtensionDebugBundleId />
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Main.cs" />
|
||||
<None Include="Info.plist">
|
||||
|
@ -104,6 +127,35 @@
|
|||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Core" />
|
||||
<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>
|
||||
<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">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>UnoQuickStart.iOS</string>
|
||||
<string>Uno Calculator</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.companyname.WindowsCalculator</string>
|
||||
<string>uno.platform.calculator</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
|
@ -13,7 +13,7 @@
|
|||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>MinimumOSVersion</key>
|
||||
<string>9.0</string>
|
||||
<string>10.0</string>
|
||||
<key>UIDeviceFamily</key>
|
||||
<array>
|
||||
<integer>1</integer>
|
||||
|
@ -43,5 +43,7 @@
|
|||
<string>Fonts/winjs-symbols.ttf</string>
|
||||
<string>Fonts/CalcMDL2.ttf</string>
|
||||
</array>
|
||||
<key>UIRequiresFullScreen</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</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": ""
|
||||
}
|
||||
}
|