Building to the iPad from Virtual MacOS

Hi,

We’re trying to test our Unity app on the iPad from a Mac-less envronment. I built the XCode project from Unity 4.3, and my associate has Virtual MacOS on his PC with the latest XCode, logged in with his Apple Developer account and provisioning profile set.

During the building process on such, Xcode gives 11 warnings of three types:


***Deprecations

/Users/admin/Documents/iOS/Classes/UI/SplashScreen.mm:119:10: ‘wantsFullScreenLayout’ is deprecated: first deprecated in iOS 7.0

/Users/admin/Documents/iOS/Classes/UnityAppController.mm:255:18: ‘wantsFullScreenLayout’ is deprecated: first deprecated in iOS 7.0

/Users/admin/Documents/iOS/Classes/UI/iAD.mm:277:9: ‘presentFromViewController:’ is deprecated: first deprecated in iOS
7.0 - Use -[UIViewController requestInterstitialAdPresentation] and related APIs documented in .

***Asset Catalog Compiler Warning /Users/admin/Documents/iOS/Unity-iPhone/Images.xcassets: A 76x76 app icon is required for iPad apps targeting iOS 7.0 and later /Users/admin/Documents/iOS/Unity-iPhone/Images.xcassets: The file “Icon-152.png” for the image set “AppIcon” does not exist.

***Missing Contentfile:///Users/admin/Documents/iOS/Unity-iPhone/Images.xcassets/: warning: Missing Content: The file “Icon-72.png” for the image set “AppIcon” does not exist.

Then on the iPad (iOS 7), he reports seeing only a blank, dark-blue screen with “Development build” written in the bottom-right corner. The application log from the device is as follows:


2014-02-19 21:49:07.400 ProductName[1148:60b] → registered mono modules 0x14ddee0

→ applicationDidFinishLaunching()

→ applicationDidBecomeActive()

Mono path[0] = ‘/var/mobile/Applications/BFB76A8B-DFF5-4B01-BEAF-D84FB846DA22/ProductName.app/Data/Managed’

Mono config path = ‘/var/mobile/Applications/BFB76A8B-DFF5-4B01-BEAF-D84FB846DA22/ProductName.app/Data/Managed’

PlayerConnection initialized from /var/mobile/Applications/BFB76A8B-DFF5-4B01-BEAF-D84FB846DA22/ProductName.app/Data (debug = 0)

PlayerConnection initialized network socket : 0.0.0.0 55301

Multi-casting “[IP] 0.0.0.0 [Port] 55301 [Flags] 2 [Guid] 2604859192 [EditorId] 2558158181 [Version] 1048832 [Id] iPhonePlayer(NatalIa) [Debug] 0” to [225.0.0.222:54997]…

PlayerConnection already initialized - listening to [0.0.0.0:55301]

Renderer: PowerVR SGX 543

Vendor: Imagination Technologies

Version: OpenGL ES 2.0 IMGSGX543-97

GL_OES_depth_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_texture_float GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_vertex_array_object GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_draw_instanced GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_pvrtc_sRGB GL_EXT_read_format_bgra GL_EXT_separate_shader_objects GL_EXT_shader_framebuffer_fetch GL_EXT_shader_texture_lod GL_EXT_shadow_samplers GL_EXT_sRGB GL_EXT_texture_filter_anisotropic GL_EXT_texture_rg GL_EXT_texture_storage GL_APPLE_copy_texture_levels GL_APPLE_framebuffer_multisample GL_APPLE_rgb_422 GL_APPLE_sync GL_APPLE_texture_format_BGRA8888 GL_APPLE_texture_max_level GL_IMG_read_format GL_IMG_texture_compression_pvrtc

Creating OpenGLES2.0 graphics device

Initialize engine version: 4.3.2f1 (0517a5ae8669)

Begin MonoManager ReloadAssembly

Platform assembly: /var/mobile/Applications/BFB76A8B-DFF5-4B01-BEAF-D84FB846DA22/ProductName.app/Data/Managed/UnityEngine.dll (this message is harmless)

Loading /var/mobile/Applications/BFB76A8B-DFF5-4B01-BEAF-D84FB846DA22/ProductName.app/Data/Managed/UnityEngine.dll into Unity Child Domain

Platform assembly: /var/mobile/Applications/BFB76A8B-DFF5-4B01-BEAF-D84FB846DA22/ProductName.app/Data/Managed/Assembly-CSharp.dll (this message is harmless)

Loading /var/mobile/Applications/BFB76A8B-DFF5-4B01-BEAF-D84FB846DA22/ProductName.app/Data/Managed/Assembly-CSharp.dll into Unity Child Domain

Non platform assembly: /private/var/mobile/Applications/BFB76A8B-DFF5-4B01-BEAF-D84FB846DA22/ProductName.app/Data/Managed/System.Core.dll (this message is harmless)

Non platform assembly: /private/var/mobile/Applications/BFB76A8B-DFF5-4B01-BEAF-D84FB846DA22/ProductName.app/Data/Managed/System.dll (this message is harmless)

Non platform assembly: /private/var/mobile/Applications/BFB76A8B-DFF5-4B01-BEAF-D84FB846DA22/ProductName.app/Data/Managed/Mono.Security.dll (this message is harmless)

  • Completed reload, in 0.122 seconds

Screen width: 1024

UnityEngine.Debug:Internal_Log(Int32, String, Object)

UnityEngine.Debug:Log(Object)

Menu:Awake()

(Filename: /Applications/buildAgent/work/d3d49558e4d408f4/artifacts/iPhonePlayer-armv7Generated/UnityEngineDebug.cpp Line: 53)

ves_icall_System_Environment_GetWindowsFolderPath should only be called on Windows!

UnauthorizedAccessException: Access to the path “/DarkAges/” is denied.

at System.IO.Directory.CreateDirectoriesInternal (System.String path) [0x00000] in :0

at System.IO.Directory.CreateDirectory (System.String path) [0x00000] in :0

at Settings.AppPath () [0x00000] in :0

at GameIO…cctor () [0x00000] in :0

Rethrow as TypeInitializationException: An exception was thrown by the type initializer for GameIO

at Menu.SetMenu (.Entry e, Rect r, System.Int32 disabledList) [0x00000] in :0

at MainMenu.Awake () [0x00000] in :0

(Filename: Line: -1)

Looks like it has a problem with the permissions or environment path; is it fixable?

Allegedly, they’re able to build another iOS project from Virtual MacOS successfully, so the problem is perhaps on the Unity building side. Here are my build options for the iOS project:

Thanks.

Super simple solution. (1) Send the app to TestFlight. (2) On your iPad click “load”.

Enjoy!