Сбой сборки / запуска Nativescript для iOS на устройстве

У меня проблема с созданием работающего приложения (в частности, шаблона HelloWorld) на моем iPhone через Nativescript. Сборка / запуск Android работает безупречно, но заставить коллегу iOS работать стало кошмаром. Для справки, я использую последнюю версию macOS (High Sierra) и последнюю версию XCode. Проблема в том, что всякий раз, когда я пытаюсь собрать, мне говорят, что XCode 8 требует teamid (учтите, что я использую XCode 9 также). Затем сборка завершается сбоем и выдает результат, указанный ниже. Я видел, как люди обсуждали, как вручную вставить свой teamid в файл конфигурации, однако, поскольку я не зарегистрирован в программе разработчика, у меня нет teamid. Нужно ли регистрироваться в программе за 99 долларов, чтобы что-то запустить на моем устройстве? У меня есть сертификат dev, настроенный в XCode, и я попытался создать временные профили обеспечения в Sidekick, но, тем не менее, я все еще получаю эту ошибку. Кроме того, некоторые люди предлагают открыть настоящий проект приложения XCode, однако я даже не могу открыть его, так как он сразу же вызывает сбой XCode при нажатии. В чем может быть проблема здесь? Почему это не так просто, как процесс сборки / запуска Android? Кроме того, эмулятор также не работает, так как выдает свой собственный набор сообщений об ошибках, но это не будет хорошей идеей для начала, поскольку аппаратное обеспечение моего компьютера делает эмулятор чрезвычайно медленным и нереализуемым. Поэтому лучше всего будет работать на моем устройстве, таком как Android. Выход ниже:

jslarosmbp:HelloWorld Js$ tns run ios
Searching for devices...
Preparing project...
Project successfully prepared (iOS)
Building project...
Xcode 8 requires a team id to be specified when building for device.
You can specify the team id by setting the DEVELOPMENT_TEAM setting in build.xcconfig file located in App_Resources folder of your app, or by using the --teamId option when calling run, debug or livesync commands.
Xcode build...
2017-12-18 11:56:20.660 xcodebuild[3263:131976] [MT] DVTAssertions: ASSERTION FAILURE in /Library/Caches/com.apple.xbs/Sources/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-13756/Xcode3Core/LegacyProjects/Frameworks/DevToolsCore/DevToolsCore/RuntimeSupport/MacroExpansion/XCMacroExpansionExtensions.mm:94
Details:  Assertion failed: [value isKindOfClass:[NSString class]] || [value isKindOfClass:[NSArray class]]
Object:   <DVTMacroDefinitionTable: 0x7fbf626a0a70>
Method:   -_xc_setValue:forMacroName:conditionSet:errorHandler:
Thread:   <NSThread: 0x7fbf60d175e0>{number = 1, name = main}
Hints: 

Backtrace:
  0   -[DVTAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in DVTFoundation)
  1   _DVTAssertionHandler (in DVTFoundation)
  2   _DVTAssertionFailureHandler (in DVTFoundation)
  3   _DVTAssertionFailureHandler (in DVTFoundation)
  4   -[DVTMacroDefinitionTable(XCMacroExpansionExtensions) _xc_setValue:forMacroName:conditionSet:errorHandler:] (in DevToolsCore)
  5   -[DVTMacroDefinitionTable(XCMacroExpansionExtensions) _xc_setValue:forMacroName:errorHandler:] (in DevToolsCore)
  6   __108-[DVTMacroDefinitionTable(XCMacroExpansionExtensions) xc_setMacroNamesAndValuesFromDictionary:errorHandler:]_block_invoke (in DevToolsCore)
  7   -[__NSDictionaryM enumerateKeysAndObjectsWithOptions:usingBlock:] (in CoreFoundation)
  8   -[DVTMacroDefinitionTable(XCMacroExpansionExtensions) xc_setMacroNamesAndValuesFromDictionary:errorHandler:] (in DevToolsCore)
  9   +[DVTMacroDefinitionTable(XCProjectArchivingExtensions) xc_macroDefinitionTableFromDictionaryRepresentationForProjectArchiving:usingPropertyDefinitionsFromSpecificationDomain:] (in DevToolsCore)
 10   -[PBXBuildStyle _setBuildSettings:] (in DevToolsCore)
 11   -[PBXUnarchivingBinding readValueForObject:fromPListUnarchiver:] (in DevToolsCore)
 12   -[PBXObject _unarchiveValuesForArchiveMask:fromPListUnarchiver:] (in DevToolsCore)
 13   -[PBXObject readFromPListUnarchiver:] (in DevToolsCore)
 14   -[PBXBuildStyle readFromPListUnarchiver:] (in DevToolsCore)
 15   -[PBXPListUnarchiver _unarchiveObjectWithGlobalIDHexString:] (in DevToolsCore)
 16   -[PBXPListUnarchiver _decodeMutableObjectArrayFromPListArray:] (in DevToolsCore)
 17   -[PBXPListUnarchiver decodeMutableObjectArrayForKey:] (in DevToolsCore)
 18   -[PBXUnarchivingBinding readValueForObject:fromPListUnarchiver:] (in DevToolsCore)
 19   -[PBXObject _unarchiveValuesForArchiveMask:fromPListUnarchiver:] (in DevToolsCore)
 20   -[PBXObject readFromPListUnarchiver:] (in DevToolsCore)
 21   -[PBXPListUnarchiver _unarchiveObjectWithGlobalIDHexString:] (in DevToolsCore)
 22   -[PBXPListUnarchiver decodeObjectForKey:] (in DevToolsCore)
 23   -[PBXUnarchivingBinding readValueForObject:fromPListUnarchiver:] (in DevToolsCore)
 24   -[PBXObject _unarchiveValuesForArchiveMask:fromPListUnarchiver:] (in DevToolsCore)
 25   -[PBXObject readFromPListUnarchiver:] (in DevToolsCore)
 26   -[PBXPListUnarchiver _unarchiveObjectWithGlobalIDHexString:] (in DevToolsCore)
 27   -[PBXPListUnarchiver _decodeMutableObjectArrayFromPListArray:] (in DevToolsCore)
 28   -[PBXPListUnarchiver decodeMutableObjectArrayForKey:] (in DevToolsCore)
 29   -[PBXUnarchivingBinding readValueForObject:fromPListUnarchiver:] (in DevToolsCore)
 30   -[PBXObject _unarchiveValuesForArchiveMask:fromPListUnarchiver:] (in DevToolsCore)
 31   -[PBXObject readFromPListUnarchiver:] (in DevToolsCore)
 32   -[PBXProject readFromPListUnarchiver:] (in DevToolsCore)
 33   -[PBXPListUnarchiver _unarchiveObjectWithGlobalIDHexString:] (in DevToolsCore)
 34   -[PBXPListUnarchiver decodeRootObject] (in DevToolsCore)
 35   +[PBXProject projectWithFile:errorHandler:readOnly:] (in DevToolsCore)
 36   -[Xcode3Project initWithFilePath:extension:workspace:options:error:] (in DevToolsCore)
 37   __82+[IDEContainer _retainedContainerAtFilePath:fileDataType:workspace:options:error:]_block_invoke_2 (in IDEFoundation)
 38   _dispatch_client_callout (in libdispatch.dylib)
 39   _dispatch_queue_barrier_sync_invoke_and_complete (in libdispatch.dylib)
 40   DVTDispatchBarrierSync (in DVTFoundation)
 41   -[DVTDispatchLock performLockedBlock:] (in DVTFoundation)
 42   __82+[IDEContainer _retainedContainerAtFilePath:fileDataType:workspace:options:error:]_block_invoke (in IDEFoundation)
 43   __58-[DVTModelObjectGraph performBlockCoalescingModelChanges:]_block_invoke (in DVTFoundation)
 44   -[DVTModelGraphTransactionScope performTransaction:] (in DVTFoundation)
 45   -[DVTModelObjectGraph performBlockCoalescingModelChanges:] (in DVTFoundation)
 46   +[IDEContainer _retainedContainerAtFilePath:fileDataType:workspace:options:error:] (in IDEFoundation)
 47   +[IDEContainer retainedContainerAtFilePath:fileDataType:workspace:error:] (in IDEFoundation)
 48   -[IDEWorkspace _configureWrappedWorkspaceWithError:] (in IDEFoundation)
 49   __82+[IDEContainer _retainedContainerAtFilePath:fileDataType:workspace:options:error:]_block_invoke (in IDEFoundation)
 50   +[IDEContainer _retainedContainerAtFilePath:fileDataType:workspace:options:error:] (in IDEFoundation)
 51   +[IDEContainer retainedWrappedWorkspaceForContainerAtFilePath:fileDataType:error:] (in IDEFoundation)
 52   -[Xcode3CommandLineBuildTool _resolveInputOptionsWithTimingSection:] (in Xcode3Core)
 53   -[Xcode3CommandLineBuildTool run] (in Xcode3Core)
 54  0x000000010621c2af (in xcodebuild)
 55   start (in libdyld.dylib)
Unable to apply changes on device: 5d3917082e289838a5b920f9c2xxf5c1f7804149. Error is: Command xcodebuild failed with exit code null.

Все, что может быть подробно предложено, будет с благодарностью. Спасибо!

1 ответ

Вы все еще можете тестировать на реальном устройстве, не регистрируясь в платном членстве, но вам все равно нужно будет предоставить свой идентификатор разработки

Смотрите следующие ссылки:

https://developer.apple.com/support/compare-memberships/

http://www.idownloadblog.com/2015/12/24/how-to-create-a-free-apple-developer-account-xcode/

Как только ваши профили настройки настроены, вы можете увидеть их с

tns run ios --provision

и они развернут ваше приложение на устройстве iOS с

tns run ios --provision <your-provision-id>

В тех случаях, когда вышеописанное не работает, вы можете открыть созданный проект iOS (файлxcodeproj в platform / ios / build), а затем напрямую установить свой идентификатор разработки через XCode.

Другие вопросы по тегам