Unity, Xcode, Compatibility List? - c#

Problem: I am unable build and Run from Unity editor, or attach Monodevelop to a device process.
Specific Versions:
Unity5.2.2f
Xcode 7.1 (7B91b)
I believe this all has to do with compatibility as Unity will spit out the small warning, when you Build and Run from the editor:
Unity xcode plugin has not current Xcode in its compatibility list.
Please launch the project manually
UnityEditor.HostView:OnGUI()
Where can I find said "Xcode compatibility list"?

Workaround for whenever in the future this might happen again:
Open Applications in Finder
right-click XCode app > Show package contents
open Contents
open Info.plist
copy the DVTPluginCompatibilityUUID string
In the Finder window, press ⇧⌘G (Shift+cmd+G)
Enter /Applications/Unity/PlaybackEngines/iOSSupport/Tools/OSX/Unity4XC.xcplugin/Contents
open Info.plist in your favorite text editor
find the part with:
<key\>DVTPlugInCompatibilityUUIDs</key>
<array>
<string>63FC1C47-140D-42B0-BB4D-A10B2D225574</string>
<string>37B30044-3B14-46BA-ABAA-F01000C27B63</string>
<string> etc...
add a line with:
<string>[Paste the copied UUID here]</string>
before this line: </array>
Save the file, and provide your password to overwrite the plist.
You'll be able to have Unity run the build process in XCode again (after restarting XCode)

Related

You don't have an extension for debugging C#, Should we find a C# extension in the Marketplace?

I'm trying to debug a C# script using VSCode. but when I hit F5 it shows
But I do have the C# extension installed in VSCode
About my VSCode
Version: 1.56.2 (system setup)
Commit: 054a9295330880ed74ceaedda236253b4f39a335
Date: 2021-05-12T17:13:13.157Z
Electron: 12.0.4
Chrome: 89.0.4389.114
Node.js: 14.16.0
V8: 8.9.255.24-electron.0
OS: Windows_NT x64 10.0.19042
I also have Dotnet installed on my machine
dotnet --version
5.0.203
Previously, VSCode used to resolve all the necessary dependencies and create the necessary files for debugging a C# script. Maybe the latest update has some issues?
If you have issues with that I suggest going to 'view' and then press command pallet or press Ctrl+Shift+P and then search 'generate assets for build and debug' and if you want it to open up a new window and execute your code instead of it running in the terminal:
Go open .vscode
Then select launch.json and then go to where it says console and write this instead:
"console": "externalTerminal",
Is there a .vscode folder in the folder you are working out of or in a parent folder? Not having that will cause issues with VS-Code loading extensions.
Did you open VS-code by clicking on a source code file in File Explorer? If so then VS-Code is currently unaware of your .vscode folder for that project.
Either way the solution is to open the folder through VS-Code by going to File->Open Folder and select the folder your project is in. In the former case you will also get a message asking you if you want to generate something and you need to click yes on that. This also seems to solve some instances of getting the 'Unable to generate assets' and 'Omnisharp server is not running' errors.

Mac Application from Gtk in Visual Studio Mac

Im very new in Mac development environment. I installed Visual Studio for Mac, and created a new solution .NET/Gtk 2.0 project to build a GUI file rename tool. I created the tool. However when I build it in debug and release, it generates .exe file which I can only run with the shell.
However, I need to build this program in app bundle so that I can send it over to other users and they can run it by clicking on it. Is there any way to accomplish this?(I have spent a few hours on this but couldn't see a clear document that explain to me. If nothing works then I need to rewrite it in Java).
Thank you so much in advance!
Assuming Mono is installed on all of your target machines then you can put together (manually) a .app package folder that will run your .exe file when a user double-clicks on it. There's a certain set of things you'll need to put in the .app package, one of which is a command shell file that will kick-off your .exe and will be executed when the .app is run.
B.t.w. Visual Studio Mac and Xamarin Studio and MonoDevelop are all basically different twists on the same thing, MonoDevelop. VS mac and XS have extras but the basic underlying IDE is MD. Whichever of these products you use to compile your code is unlikely to churn out anything different to the next.
The structure of the basic .app folder:
MyApp.app
+-- Contents
--- Info.plist
+-- MacOS
--- MyApp
--- MyApp.exe
+-- Resources
--- MyApp.icns
The contents are as follows:
Info.plist is a Mac OS specific XML file that contains a description of your .app package. It will look something like this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>MyApp</string>
<key>CFBundleIconFile</key>
<string>MyApp.icns</string>
<key>CFBundleIdentifier</key>
<string>com.myapp</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>My App Name</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.2.3</string>
<key>CFBundleSignature</key>
<string>xmmd</string>
<key>CFBundleVersion</key>
<string>1.2.3</string>
<key>NSAppleScriptEnabled</key>
<string>NO</string>
</dict>
</plist>
The MyApp.icns file is an icon file you want to use as the icon for your app package.
The MyApp.exe file is your compiled .NET exe.
The MyApp file is an executable command file that is executed when the .app package is executed by the user. This is referenced in the plist file under CFBundleExecutable and has to be executable (+x permissions, ). This is what it might look like:
#!/bin/sh
DIR=$(cd "$(dirname "$0")"; pwd)
MONO_FRAMEWORK_PATH=/Library/Frameworks/Mono.framework/Versions/Current
export DYLD_FALLBACK_LIBRARY_PATH="$DIR:$MONO_FRAMEWORK_PATH/lib:/lib:/usr/lib"
export PATH="$MONO_FRAMEWORK_PATH/bin:$PATH"
exec mono "$DIR/MyApp.exe"
Hope this helps. Cheers, Martin.

C# Xamarin Can't find .apk after exporting ("aapt.exe" exited with code 1)

Today i tried to export my android ap as .apk
after clicking export android package it says "Building Android Package..." below and if i wait a little it says ready.
But if i go to Projectfolder/bin/Release i can't find my apk...
What could be the cause of that? It worked for me earlier,
In the Release folder there are only these files:
Thanks.
EDIT:
After cleaning the solution and exporting again, i got some more files but still no .apk
EDIT:
I finally found a solution! Before i say anything i want to thank all of you (especially Jon Douglas) for taking your time and trying to fix my stupid mistake.
So the solution: i renamed my "app-icon.png" to "app_icon.png" ................ that's it
Something is silently failing in generating your .apk. You should look at your IDE logs found in Help -> Xamarin -> Open Logs and look at the latest Ide.log. You should then see messages such as the following for Export Android Package (.apk): which will ensure it worked. Once that happens you'll see the .apk in the bin/Release folder.
I would also recommend using the newer option of Tools -> Android -> Publish Android App for a more well defined process in generating a signed .apk. You will then see a log such as the following:
After this, it will generate in the same directory but also put the aligned package in the main directory by default(Based on the wizard):

Removing ARToolkit nft marker from Android build

when i start the sampleNFT -an already made example from ARToolkit- in unity Editor -pressing play button- it worked greatly
BUT when i build my android app it removes my NFT marker which is in this case "gilbratar"
and i made the player setting and Android manifest as good as it supposed to be !
BTW i'm using Unity 5.3.0f4 and ARToolkit 5.3.1
why i have this problem ?!
check this image for more info
You're posting Unity editor logs, but saying you're building to Android. Do you mean you're trying to hit the "Play" button while your build target is set to Android?
If that is the case, I would recommend continuing on the editor set to your desktop platform for debugging purposes, and only switching over to your build target for building.
Also, make sure that the AndroidManifest.xml in your Assets/Plugins/Android folder has it's package name changed from "com.Artoolkit.demo" to whatever you chose as your Bundle Identifier under build settings for Android.

EAZfuscator not working automatically

I have a C# 2010 WinForms application using .Net Framework 4.
I am using Eazfuscator.NET to obfuscate this application. If I obfuscate the executable manually, everything works fine.
When I try to make the program obfuscate itself on every build by dragging the project onto the green part, everything works fine and this is output:
Protecting project 'Roster Manager.csproj'... done
Protected project will be obfuscated automatically during the build in Release configuration
Please restart Visual Studio to complete the installation of Eazfuscator.NET
After that, I close VS, start it again, clean the solution, rebuild it and run it. The program works but it is not obfuscated, as proved by decompiling it using Reflector 7.
I am building it in Release as requested by the program.
Searching the web didn't help so maybe if someone ran into this problem before might have a fix to this issue.
Eazfuscator add this line to the PostBuildEvent (Word Wrapped for legibility, but it is one line) of your project. (Right click on Project -> Properties -> Build Events.)
if /I "$(ConfigurationName)" == "Release" Eazfuscator.NET.exe "$(TargetPath)"
--msbuild-project-path "$(ProjectPath)" --msbuild-project-configuration "$(ConfigurationName)"
--msbuild-project-platform "$(PlatformName)" --msbuild-solution-path
"$(SolutionPath)" -n --newline-flush -v 3.2
Check if it is present and if your release configuration is really called "Release".
Finally managed to fix it. Seems that disabling the User Account Control resolves the issue.
A quick Google search will give more details into how to do this.
If you're using a version control system like TFS, .csproj file may be locked.
So you'll have to unlock file by checking it out or unchecking "Read-only" box from file properties.

Categories

Resources