Question: I am reviewing a code with the following snippet for minimal reproducible example. So here the code runs an iteration to initialize an array `done` as follows:

```
#include <stdio.h>
int i,j;
N=10;
int done[500];
void main() {

 done[0]=done[N]=1;
 for(i=0;i<N+1;done[i++]=0){
  printf("Done val %d iteration %d\n",done[i],i);

 }
}

```

The thing I am concerned with that I purpossely initialized the values of `done[0]=done[1]=1` However when I run the initialization loop, the values at index 0 and 10 remains unchanged. I would like to understand how is the syntax of `done[i++]` actually evaluated?

Answer: 
You will need [xCode task](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/build/xcode?view=azure-devops) to generate .ipa file. See document [here](https://flutter.dev/docs/deployment/ios#create-a-build-archive). 

Add Xcode task after flutter task in your pipeline. Set the `packageApp` attribute to `true`. Set the `exportPath` attribute. **The path you set for `exportPath` attribute is where the .ipa will be generated.** See below example:

```
- task: Xcode@5
  inputs:
    actions: 'archive' 
    sdk: '$(sdk)'
    scheme: '$(scheme)'
    configuration: '$(configuration)'
    xcodeVersion: 'default' # Options: default, 10, 9, 8, specifyPath
    archivePath: 'src/Apps/platypus_app/build/ios/Runner.xcarchive'
    exportPath: 'src/Apps/platypus_app/build/ios'
    packageApp: true
    xcWorkspacePath: src/Apps/platypus_app/build/ios/Runner.xcworkspace
    signingOption: 'nosign'

```

Another workaround is to use a bash task to run `xcodebuild` command to generate .ipa file in your pipeline. See below example: 

**The .ipa file will be exported to the folder specified for `-exportPath` attribute**

```
- task: Bash@3
    displayName: 'Create ipa package'
    inputs:
      targetType: 'inline'
      script: |
        xcodebuild -workspace ios/Runner.xcworkspace -scheme prod -sdk iphoneos -configuration Release-prod archive -archivePath build/ios/Runner.xcarchive
        xcodebuild -exportArchive -archivePath build/ios/Runner.xcarchive -exportOptionsPlist ci/ExportOptions.plist -exportPath build/ios/App.ipa

```

Please check out [this thread](https://github.com/aloisdeniel/vsts-flutter-tasks/issues/28) for more information.
You need to include the `ExportOptions.plist` file with `flutter build ipa` and you will get an ipa output in `build/ios/ipa/your_app.ipa`

```
- task: Bash@3
  displayName: "Build flutter iOS release"
  inputs:
    targetType: inline
    script: |
      flutter build ipa --release --build-name=1.0 --build-number 1 --export-options-plist=path/to/exportOptions.plist

```

Read here for more details:
<https://flutter.dev/docs/deployment/ios#create-a-build-archive>