spotify / XCRemoteCache

Other
830 stars 53 forks source link

UIDemoApp.app does not contain a valid Info.plist, so it cannot be installed on iPhone X #58

Open DRybochkin opened 2 years ago

DRybochkin commented 2 years ago

Details

Unable to install “UIDemoApp” Domain: com.apple.platform.iphoneos Code: -1 Recovery Suggestion: UIDemoApp.app does not contain a valid Info.plist, so it cannot be installed on iPhone X

(“CFBundleExecutable” specifies a file that is not executable) User Info: { DVTErrorCreationDateKey = "2022-01-25 22:05:40 +0000"; IDERunOperationFailingWorker = IDEInstalliPhoneLauncher; }

Analytics Event: com.apple.dt.IDERunOperationWorkerFinished : { "device_model" = "iPhone10,6"; "device_osBuild" = "15.1 (19B74)"; "device_platform" = "com.apple.platform.iphoneos"; "launchSession_schemeCommand" = Run; "launchSession_state" = 1; "launchSession_targetArch" = arm64; "operation_duration_ms" = 251; "operation_errorCode" = "-1"; "operation_errorDomain" = "com.apple.platform.iphoneos"; "operation_errorWorker" = IDEInstalliPhoneLauncher; "operation_name" = IDEiPhoneRunOperationWorkerGroup; "param_consoleMode" = 0; "param_debugger_attachToExtensions" = 0; "param_debugger_attachToXPC" = 1; "param_debugger_type" = 5; "param_destination_isProxy" = 0; "param_destination_platform" = "com.apple.platform.iphoneos"; "param_diag_MainThreadChecker_stopOnIssue" = 0; "param_diag_MallocStackLogging_enableDuringAttach" = 0; "param_diag_MallocStackLogging_enableForXPC" = 1; "param_diag_allowLocationSimulation" = 1; "param_diag_gpu_frameCapture_enable" = 0; "param_diag_gpu_shaderValidation_enable" = 0; "param_diag_gpu_validation_enable" = 0; "param_diag_memoryGraphOnResourceException" = 0; "param_diag_queueDebugging_enable" = 1; "param_diag_runtimeProfile_generate" = 0; "param_diag_sanitizer_asan_enable" = 0; "param_diag_sanitizer_tsan_enable" = 0; "param_diag_sanitizer_tsan_stopOnIssue" = 0; "param_diag_sanitizer_ubsan_stopOnIssue" = 0; "param_diag_showNonLocalizedStrings" = 0; "param_diag_viewDebugging_enabled" = 1; "param_diag_viewDebugging_insertDylibOnLaunch" = 1; "param_install_style" = 0; "param_launcher_UID" = 2; "param_launcher_allowDeviceSensorReplayData" = 0; "param_launcher_kind" = 0; "param_launcher_style" = 0; "param_launcher_substyle" = 0; "param_runnable_appExtensionHostRunMode" = 0; "param_runnable_productType" = "com.apple.product-type.application"; "param_runnable_swiftVersion" = "5.5.2"; "param_runnable_type" = 2; "param_testing_launchedForTesting" = 0; "param_testing_suppressSimulatorApp" = 0; "param_testing_usingCLI" = 0; "sdk_canonicalName" = "iphoneos15.2"; "sdk_osVersion" = "15.2"; "sdk_variant" = iphoneos; }

System Information

macOS Version 12.1 (Build 21C52) Xcode 13.2.1 (19586) (Build 13C100) Timestamp: 2022-01-26T01:05:40+03:00

DRybochkin commented 2 years ago

the app launch fine on the simulator

DRybochkin commented 2 years ago

image

polac24 commented 2 years ago

Does it install if you comment out xcremotecache({..})? XCRemoteCache doesn't touch anything related to Info.plist`.

DRybochkin commented 2 years ago

yes without xcremotecache it installs

polac24 commented 2 years ago

Can you compare Info.plist in both cases? It could be a red herring as we don't touch Info.plist.

DRybochkin commented 2 years ago

there are no changes in info.plist, but the project does not launch on the device

https://github.com/DRybochkin/TestXCRC Link to the test project where the error is reproduced

polac24 commented 2 years ago

Thanks for a sample project, I was able to reproduce it. The Zip dependency doesn't store permissions, so the unzipped Mach-O file (TestXC) is not an executable and a hardware installer complains about an invalid file.

Created a fix on a third-party dependency: https://github.com/marmelroy/Zip/pull/234

trilliwon commented 1 year ago

I got same issue. My solution is add a build phase script with chmod +x ${BUILT_PRODUCTS_DIR}/${TARGET_NAME}.app/${TARGET_NAME} at end of build phase list.