0

刚刚学习 Appcelerator。据我发现,我可以在 Appcelerator Application 中添加一个原生框架项目作为模块。

所以我从这个链接开始http://docs.appcelerator.com/titanium/latest/#!/guide/iOS_Module_Development_Guide这很简单,一切都很好,因为我按照教程进行操作,直到我尝试添加我的“测试”模块名为 com.example.titanium 的测试 Titanium 单窗口应用程序。

遵循了确切的步骤,一切似乎都很好,除了 Titanium 足够聪明,可以将 zip 文件模块提取到适当的模块文件夹中的部分,它毕竟不是那么聪明:)

但是确定并完成了任务,我可以在 TiApp Editor 中发现模块并将其添加到 Modules 部分(tiapp.xml)。

经过这么多的快乐,我终于挣扎了半天,直到我来到这里,最后的希望是找出为什么在尝试 require 成功添加到应用程序中的模块时找不到。

正如教程所建议的那样,我需要具有这两行代码的应用程序。

// After 
new Window().open(); 
// Added
var test = require('com.example.titanium'); 
Ti.API.info("module is => "+test);
// Tried before or whatever, nothing worked

在同一个问题多次阅读之后,尝试了很多替代方法。为每个项目添加模块,全局,尝试将其添加到 $HOME/Library... 不起作用,甚至没有关于 Titanium 的文件夹。除了我创建它并尝试过之外,使用 build.py 构建的一切都很好,在遵循教程时没有发生错误。

我注意到虽然在构建过程中 Titanium Studio 没有考虑模块部分,但您可以在日志下方看到不需要 Titanium 模块,继续。

Please report bugs to http://jira.appcelerator.org/ 
[INFO] : Build type: development 
[INFO] : Building for target: simulator 
[INFO] : Building using iOS SDK: 6.1
[INFO] : Building for iOS iPhone Simulator: 6.1 
[INFO] : Building for device family: iphone 
[INFO] : Building for iOS 6.1; using 4.3 as minimum iOS version 
[INFO] : Minimum iOS version: 4.3 
[INFO] : Debugging disabled 
[INFO] : Initiating prepare phase 
[INFO] : Forcing rebuild: /Users/gtas/Documents/Titanium_Studio_Workspace/TestApplicationWithModule/build/iphone/build-manifest.json does not exist 
[INFO] : Forcing rebuild: debugger.plist does not exist 
[INFO] : No Titanium Modules required, continuing 
[INFO] : Performing full rebuild 
[INFO] : Copying Xcode iOS files 
[INFO] : Creating Xcode project directory: /Users/gtas/Documents/Titanium_Studio_Workspace/TestApplicationWithModule/build/iphone/TestApplicationWithModule.xcodeproj 
[INFO] : Writing Xcode project data file: Titanium.xcodeproj/project.pbxproj 
[INFO] : Writing Xcode project configuration: project.xcconfig 
[INFO] : Writing Xcode module configuration: module.xcconfig 
[INFO] : Creating symlinks for simulator build 
[INFO] : Forcing rebuild: ApplicationDefaults.m has changed since last build 
[INFO] : Writing properties to ApplicationDefaults.m 
[INFO] : Compiling localization files 
[INFO] : No module resources to copy 
[INFO] : No CommonJS modules to copy 
[INFO] : Checking for Splash Screen localization 
[INFO] : Invoking xcodebuild 
[INFO] : Finished building the application in 30s 23ms 
[INFO] : Running application in iOS Simulator 
[INFO] : Launching application in iOS Simulator 
[INFO] : Application started [ERROR] : Script Error = Couldn't find module: com.example.titanium.

我的目标是将现有的 Objective-C iOS 本机框架添加到 Titanium 应用程序。

谢谢你。

4

3 回答 3

2

听起来您的模块没有成功安装或安装不正确。从项目中删除模块后,请尝试以下步骤

  1. 将您的.zip 文件(已编译且无错误)复制到下载文件夹
  2. 打开终端
  3. 将目录更改为下载,如下所示:cd Downloads/
  4. 将模块安装到钛库如下

    unzip -u -o com.example.titanium-iphone-1.2.6.zip -d ~/Library/Application\ Support/Titanium

  5. 转到TiApp.xml

  6. 如图所示,将模块添加到您的项目中 在此处输入图像描述

  7. 清理你的项目并运行它..

我在将 ios 模块安装到我的项目时使用了上述步骤,它对我来说非常适合.. 尝试上述步骤,我希望这能解决您的问题..

于 2013-04-15T04:56:12.303 回答
1

您是手动添加模块还是通过菜单(帮助 -> 安装 Titanium 模块)添加模块?你应该更喜欢第二种方式。因此,请在您添加它们的任何地方(全局、项目等)删除所有手动添加的模块,因为多次安装(即使它们相同)可能会混淆构建管理。

现在将模块 - 使用菜单 - 添加到您的项目中。检查 tiapp.xml 是否一切正常。如果没有,请重新启动 Titanium Studio 并再次检查。

之后手动删除 build 文件夹并在 Titanium Studio 中执行 Clean & Build。然后再次运行该项目。

如果这无助于提供完整build.log的项目。

于 2013-04-14T11:06:59.017 回答
0

问题是项目的类型。我选择了单窗口应用程序 Titanium 项目类型。

我选择了一个选项卡式项目,它运行良好。

出于某种原因,我认为不好的项目类型之间存在显着差异。

任何人都知道为什么要启发我们。

于 2013-04-15T12:56:23.173 回答