After update to 1.4.2 getting "Injecting/Refreshing Xcode Settings Error"

After updating to 1.4.2 I cannot get my MOE project to run. When running its run configuration, nothing happens andn I don’t get any errors.

When I run Multi-OS Engine Actions -> Inject/Refresh XCode Project Settings, I get a dialog “Injecting/Refreshing Xcode Settings Error”

When I choose Multi-OS Engine Actions -> Open Project in XCode I get “Neither the Xcode project nor the workspace is set in the Gradle plugin”

Is there another place I need to change some settings to allow it to compile/run after the upgrade?

Hi!

Please try with latest version: 1.4.4

Best Regards,
Roland

Roland

I’m still struggling with this and I’m hoping you can help. I have my build.gradle pointing to 1.4.4, but now I don’t get any response or feedback when I try to run the app. It just doesn’t run and the run toolbar icon becomes disabled after trying to run for the first time.

Afterwards, I need to quit Android Studio for the Run toolbar button to be enabled again, but it still doesn’t run.

Any ideas or thoughts?

I should mention that I am still getting this error too:

image

From which version you updated from? If it’s from a pretty old version you may need to update your build.gradle to apply the new xcode project settings.

Hi!

Which gradle version are you use? Please try update gradle version!

Best Regards,
Roland

I have “classpath ‘com.android.tools.build:gradle:3.1.0’” in my main build.gradle file.

The version in your ./gradle/wrapper/gradle-wrapper.properties file.

The contents of that file are: (this is in the /gradle/wrapper/ within my project folder)

#Thu Apr 05 13:47:14 EDT 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

Could you show me the content of your build.gradle file of your ios module?

// Exclude all files from Gradle's test runner
test { exclude '**' }

task copyNatives << {
    file("xcode/native/ios/").mkdirs();
    def LD_FLAGS = "LIBGDX_NATIVES = "
    configurations.natives.files.each { jar->
        def outputDir = null
        if (jar.name.endsWith("natives-ios.jar")) outputDir = file("xcode/native/ios")
        if (outputDir != null) {
            FileCollection fileCollection = zipTree(jar)
            for (File libFile : fileCollection) {
                if (libFile.getAbsolutePath().endsWith(".a") && !libFile.getAbsolutePath().contains("/tvos/")) {
                    copy {
                        from libFile.getAbsolutePath()
                        into outputDir
                    }
                    LD_FLAGS += " -force_load \${SRCROOT}/native/ios/" + libFile.getName()
                }
            }
        }
    }
    def outFlags = file("xcode/ios-moe/custom.xcconfig");
    outFlags.write LD_FLAGS

    def proguard = file("proguard.append.cfg")
    if (!proguard.exists()) {
        proguard = new File("proguard.append.cfg")
        proguard << "\n-keep class com.badlogic.** { *; }\n"
        proguard << "-keep enum com.badlogic.** { *; }\n"
    }
}

sourceSets.main.java.srcDirs = [ "src/" ]
sourceSets.main.resources.srcDirs = [ file("../android/assets") ]

// Setup Multi-OS Engine
moe {
    xcode {
        project 'xcode/ios-moe.xcodeproj'
        mainTarget 'ios-moe'
        testTarget 'ios-moe-Test'

        workspace 'xcode/ios-moe.xcworkspace'
        mainScheme 'ios-moe'
        testScheme 'ios-moe-Test'
    }
}

dependencies {
    compile project(':framework:framework-common')
    compile files('/Users/development/Documents/Dev/Shared Libs/commons-codec-1.6/commons-codec-1.6.jar')
}

moeMainReleaseIphoneosXcodeBuild.dependsOn copyNatives
moeMainDebugIphoneosXcodeBuild.dependsOn copyNatives
moeMainReleaseIphonesimulatorXcodeBuild.dependsOn copyNatives
moeMainDebugIphonesimulatorXcodeBuild.dependsOn copyNatives

Also, if these help, I get the following when I choose “Inject/Refresh Xcode Project Settings”:

image

And I get this when I try to “Open Project in Xcode”:

image

Could the issue I’m experiencing be due to Android Studio version and/or JDK version? I’m using Android Studio 3.1 and JDK 1.8.0.

When I try to go back to JDK 1.7.x, Android Studio says it needs JDK 8 or higher.

I reverted to Android Studio 3.0 and “Use Embedded JDK”. I’m back up and running now as far as compiling and running.

However, it still won’t open in XCode (still get the above screenshots)

When I run System.getProperty(“moe.version”), I get 1.3.6

How can I upgrade to use the most current MOE Plugin? In Preferences->Plugins, the Multi-OS Engine Plugin’s “Update Plugin” menu choice (from right-clicking) is greyed out.

Hi,

I have same problem and message when trying to open Xcode project from moe plug-in.

I’m on AS 3.1.2, moe plug-in 1.4.3, Xcode 9.2.

Please advise. Thanks in advance.

you should update to plugin v 1.4.4 since this bug was fixed in a minor fix for android studio :slight_smile:

For me, Xcode 9.2, gradle 3.1.2, and MOE 1.4.4 still will not open the project in Xcode from MOE. Also, when I run System.getProperty(“moe.version”), I still get 1.3.6, though the gradle.build is set to use 1.4.4

have you cleared your gradle and build cache? :slight_smile:

Yes, I had done that. I discovered over the weekend that the reason my project was using MOE 1.3.6 was because I had a beta plugin repository defined in Android Studio. When I fixed that, the MOE plugin updated accordingly.

Then, to get MOE to open the project in Xcode properly, I had to downgrade to Android Plugin version 3.0.0 while using Gradle 4.2.1 (In Project Structure -> Project)

1 Like