2

我正在为我的客户开发一个演示应用程序。此演示应用程序的目的是展示 Worklight Hybrid 应用程序可以在所有环境中运行。我的演示应用程序在 Android Emulator 中运行良好,但是当我将 Iphone 环境文件夹中 Package 文件夹中的 zip 文件传输到具有 XCODE 5.0 的 MAC 系统并尝试运行该应用程序时,我收到此错误 -

"error JSON.stringify()ing argument: TypeError: JSON.stringify cannot serialize cyclic structures"

我正在使用 Worklight V6 和其中提供的默认 dojo 版本。我在网上搜索,发现很少有人也在为此苦苦挣扎。这里报告了一个例子——

http://dojo-toolkit.33424.n3.nabble.com/ERROR-error-JSON-stringify-ing-argument-TypeError-JSON-stringify-cannot-serialize-cyclic-structures-td3996156.html

有人可以告诉我这个错误的根本原因是什么?似乎问题出在模拟器或worklight中使用的cordova插件版本上。有什么解决方法吗?

这是我的 XCode 日志-

   2013-11-17 22:08:02.290 KaiserTestApp[6396:a0b] ***TeaLeaf Library Version***:      8.8.1.56 
   2013-11-17 22:08:03.002 KaiserTestApp[6396:a0b] Application windows are expected to  have a root view controller at the end of application launch 
   2013-11-17 22:08:04.129 KaiserTestApp[6396:3e07] Web resources integrity test is disabled. 
   2013-11-17 22:08:04.134 KaiserTestApp[6396:a0b] Multi-tasking -> Device: YES, App: YES 
   2013-11-17 22:08:05.003 KaiserTestApp[6396:a0b] Resetting plugins due to page load. 
   2013-11-17 22:08:05.509 KaiserTestApp[6396:a0b] Finished load of: file:///Users/prasuna/Library/Application Support/iPhone Simulator/7.0.3/Applications/5BFF2FA8-9E4B-45D3-B991-43EE8008A5F4/Library/Application Support/www956725435/default/KaiserTestApp.html 
   2013-11-17 22:08:05.524 KaiserTestApp[6396:a0b] DEPRECATION NOTICE: The Connection ReachableViaWWAN return value of '2g' is deprecated as of Cordova version 2.6.0 and will be changed to 'cellular' in a future release.  
   2013-11-17 22:08:05.532 KaiserTestApp[6396:a0b] {     appVersionPref = "1.0";     freeSpace = 132894613504;     wlSkinLoaderChecksum = "(null)";     wlSkinName = default; } 
   2013-11-17 22:08:05.541 KaiserTestApp[6396:a0b] [DEBUG] wlclient init started 
   2013-11-17 22:08:05.542 KaiserTestApp[6396:a0b] [DEBUG] Read cookies: null 
   2013-11-17 22:08:05.542 KaiserTestApp[6396:a0b] [DEBUG] CookieMgr read cookies: {} 
   2013-11-17 22:08:05.547 KaiserTestApp[6396:a0b] [DEBUG] before: app init onSuccess 
   2013-11-17 22:08:05.548 KaiserTestApp[6396:a0b] [DEBUG] after: app init onSuccess 
   2013-11-17 22:08:05.548 KaiserTestApp[6396:a0b] [DEBUG] added onPause event handler  
   2013-11-17 22:08:05.549 KaiserTestApp[6396:a0b] [DEBUG] wlclient init success 
   2013-11-17 22:08:05.638 KaiserTestApp[6396:a0b] [LOG] I am in main js file 
   2013-11-17 22:08:05.638 KaiserTestApp[6396:a0b] [DEBUG] HomeController created 
   2013-11-17 22:08:05.639 KaiserTestApp[6396:a0b] [DEBUG] Testing log 
   2013-11-17 22:09:21.000 KaiserTestApp[6396:a0b] [ERROR] error JSON.stringify()ing argument: TypeError: JSON.stringify cannot serialize cyclic structures. 
   2013-11-17 22:09:21.000 KaiserTestApp[6396:a0b] [ERROR] error JSON.stringify()ing argument: TypeError: JSON.stringify cannot serialize cyclic structures.  

我还尝试在 IOS 6 中运行演示应用程序,但在编译时出现以下错误。有人可以帮我理解这意味着什么,我该如何解决这个问题?

setenv WRAPPER_EXTENSION app

setenv WRAPPER_NAME KaiserTestApp.app

setenv WRAPPER_SUFFIX .app

setenv XCODE_APP_SUPPORT_DIR /Applications/Xcode.app/Contents/Developer/Library/Xcode

setenv XCODE_PRODUCT_BUILD_VERSION 4H1503

setenv XCODE_VERSION_ACTUAL 0463

setenv XCODE_VERSION_MAJOR 0400

setenv XCODE_VERSION_MINOR 0460

setenv YACC yacc

/bin/sh -c /Users/wppa/Library/Developer/Xcode/DerivedData/KaiserTestProjKaiserTestAppIphone-egvnwnfozzvukmdsxsnkzlsfjwgz/Build/Intermediates/KaiserTestProjKaiserTestAppIphone.build/Debug-iphonesimulator/KaiserTestProjKaiserTestAppIphone.build/Script-427B829D1393724500F223DC.sh


   Running a custom build phase script: buildtime.sh

   /Users/wppa/Library/Developer/Xcode/DerivedData/KaiserTestProjKaiserTestAppIphone-      egvnwnfozzvukmdsxsnkzlsfjwgz/Build/Intermediates/KaiserTestProjKaiserTestAppIphone.build/Debug-iphonesimulator/KaiserTestProjKaiserTestAppIphone.build/Script-427B829D1393724500F223DC.sh: line 7: /Users/wppa/Kaiser/buildtime.sh: Permission denied

   DONE with script: buildtime.sh (exitStatus=126)\n\n
4

1 回答 1

0

关于您在 iOS 6 中遇到的具体问题,它实际上与 iOS 6 无关,也与这个问题完全无关(“......无法序列化循环结构......”)。我建议将其拆分为另一个问题或将其删除。

运行自定义构建阶段脚本:buildtime.sh

/Users/wppa/Library/Developer/Xcode/DerivedData/KaiserTestProjKaiserTestAppIphone- egvnwnfozzvukmdsxsnkzlsfjwgz/Build/Intermediates/KaiserTestProjKaiserTestAppIphone.build/Debug-iphonesimulator/KaiserTestProjKaiserTestAppIphone.build/Script-427B829D1393724500F223DC.sh: line 7: /Users/wppa/Kaiser/buildtime .sh:权限被拒绝

您缺少文件的执行权限buildtime.sh

我对这个问题的回答中详细解释了问题和解决方案:IBM Worklight - "Permission denied" when building in Xcode

我建议按照以下步骤操作:

使用 CHMOD 更改权限:

  1. 将路径复制到包含 buildtime.sh 文件的文件夹
  2. 打开终端应用程序
  3. 运行以下命令(但使用上面 1 中您自己的路径):chmod 755 /Users/idan/Documents/Worklight/workspace-6001/TestProject/apps/TestApp/iphone/native/buildtime.sh
于 2013-11-22T07:15:08.780 回答