Unable to find a target named error when building for iOS

Hi!

I’m trying to build an app for iOS and Android. Currently i’m using the Facebook native SDK and DoubleClick SDK. On Android it compiles and runs ok. But on iOS i get this extrage error. I run this command:

uno build --target=iOS --run -DCOCOAPODS

And that’s what i get.

Uno 1.2.2 (build 5754) macOS 10.12 i386 8fb0cf0

Configuring
Target is up-to-date -- stopping build (pass --force to override)
Building iOS app
Analyzing dependencies
[!] Unable to find a target named `My Application Name`, did find `my-app`.(unknown): E0200: iOS build failed
(1.4 s)

Build completed in 1.64 seconds
    1 error

My .unoproj looks like this

{
  "RootNamespace":"com.my_app",
  "Title": "My Application Name",
  "Version": "1.0",
  "Copyright": "Copyright © 2017 $(Publisher)",
  "Publisher": "My",
  "Mobile": {
		"Orientations": "Portrait"
	},
  "Android": {
    "ApplicationLabel": "$(Title)",
    "VersionCode": 1,
    "Package": "$(RootNamespace)",
    "Icons": {
            "LDPI": "Icons/android/mipmap-ldpi/ic_launcher.png",
            "MDPI": "Icons/android/mipmap-mdpi/ic_launcher.png",
            "HDPI": "Icons/android/mipmap-hdpi/ic_launcher.png",
            "XHDPI": "Icons/android/mipmap-xhdpi/ic_launcher.png",
            "XXHDPI": "Icons/android/mipmap-xxhdpi/ic_launcher.png",
            "XXXHDPI": "Icons/android/mipmap-xxxhdpi/ic_launcher.png"
        },
    "Key": {
            "Alias": "application",
            "AliasPassword": "XXXXX",
            "Store": "release.keystore",
            "StorePassword": "XXXXX"
        },
    "SDK": {
      "MinVersion": "15",
      "CompileVersion": "23",
    }
  },
  "iOS": {
        "BundleIdentifier": "$(RootNamespace)",
        "BundleName": "$(Title)",
        "Icons": {
            "iPhone_29_2x": "Icons/ios/AppIcon.appiconset/Icon-App-29x29@2x.png",
            "iPhone_29_3x": "Icons/ios/AppIcon.appiconset/Icon-App-29x29@3x.png",
            "iPhone_40_2x": "Icons/ios/AppIcon.appiconset/Icon-App-40x40@2x.png",
            "iPhone_40_3x": "Icons/ios/AppIcon.appiconset/Icon-App-40x40@3x.png",
            "iPhone_60_2x": "Icons/ios/AppIcon.appiconset/Icon-App-60x60@2x.png",
            "iPhone_60_3x": "Icons/ios/AppIcon.appiconset/Icon-App-60x60@3x.png",
            "iPad_29_1x": "Icons/ios/AppIcon.appiconset/Icon-App-29x29@1x.png",
            "iPad_29_2x": "Icons/ios/AppIcon.appiconset/Icon-App-29x29@2x.png",
            "iPad_40_1x": "Icons/ios/AppIcon.appiconset/Icon-App-40x40@1x.png",
            "iPad_40_2x": "Icons/ios/AppIcon.appiconset/Icon-App-40x40@2x.png",
            "iPad_76_1x": "Icons/ios/AppIcon.appiconset/Icon-App-76x76@1x.png",
            "iPad_76_2x": "Icons/ios/AppIcon.appiconset/Icon-App-76x76@2x.png",
            "iPad_83.5_2x": "Icons/ios/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png"
        },
        "LaunchImages": {
            "iPhone_Portrait_2x": "Icons/ios/LaunchImages/iPhone_Portrait_2x.jpg",
            "iPhone_Portrait_R4": "Icons/ios/LaunchImages/iPhone_Portrait_R4.jpg",
            "iPhone_Portrait_R47": "Icons/ios/LaunchImages/iPhone_Portrait_R47.jpg",
            "iPhone_Portrait_R55": "Icons/ios/LaunchImages/iPhone_Portrait_R55.jpg",
            "iPhone_Landscape_R55": "Icons/ios/LaunchImages/iPhone_Landscape_R55.jpg",
            "iPad_Portrait_1x": "Icons/ios/LaunchImages/iPad_Portrait_1x.jpg",
            "iPad_Portrait_2x": "Icons/ios/LaunchImages/iPad_Portrait_2x.jpg",
            "iPad_Landscape_1x": "Icons/ios/LaunchImages/iPad_Landscape_1x.jpg",
            "iPad_Landscape_2x": "Icons/ios/LaunchImages/iPad_Landscape_2x.jpg"
        }
  },
  "Packages": [
    "Fuse",
    "FuseJS",
    "Uno.Permissions",
    "Fuse.Launcher"
  ],
  "Projects": [
    "FacebookLogin/FacebookLogin.unoproj",
    "DFP/dfp.unoproj"
  ],
  "Includes": [
    "FacebookAppId.uxl",
    "*"
  ],
  "Includes": [
    "**.js:Bundle"
  ]
}

Any idea about what i’m doing wrong?

Thanks

Jonatan

Update, if i modify this line

“Title”: “My Application Name”

to

“Title”: “my-app”

It works. It download the dependencies and compiles.

But the application label is now “my-app” instead of “My Application Name”. It’s a problem with spaces or it’s a folder name problem?

The app is inside a folder named “my-app”

Thanks

Jonatan

You can call the folder and the .unoproj file whatever you like. You’ll need to set both Name and Title properties in .unoproj to achieve what you’re after:

  "Title":"Long App Title",
  "Name":"LongAppTitle",

Title is the label for the app (can contain spaces), while Name is used as an identifier and should not have spaces in it. And don’t forget RootNamespace, which should be a reverse domain, such as com.johnmakesapps.longapptitle.

Thanks Uldis!

It does the Job. I’ve changed the

“BundleName”: “$(Title)”,

to

“BundleName”: “$(Name)”,

But now, the app name in the App List is $(Name) instead of $(Title). As far i see in the Docs, the BundleName is Human readable text, but the compilation fails if i use $(Title) and it contains spaces. But if i use $(Name) i have a label with no spaces, but the app compiles.

How can i change the label of the App on iOS to show $(Title) instead the $(Name)? Is there another param apart from BundleName that i should set?

Thanks

Jonatan

Yes, as I suggested above, set a Title property that is then used as the human-readable title of the app and can contain spaces.