几天后我开始研究Appcelerator 1.8.0并且我对Ti.include和require有点困惑.据我所知,Ti.include用于在另一个文件中包含js文件的内容,而require用于使用导出公开api.我无法理解的是,如果需要导出可以用来获取公共API,你真的需要包括吗?基本上我试图了解包含和要求之间的不同?
基本上我需要你的建议我的好朋友堆:D
在过去的六个月里,我正在使用Titanium Appcelerator移动框架探索/学习/开发iOS应用程序.我的经历大多是好的或非常好的.
Titanium的一些负面部分将是建立时间,尤其是在设备上进行测试时.当仅使用Xcode(本机)时,您的应用程序会立即在设备上启动,而使用Titanium时,您需要等待一段时间(1-2分钟)才能构建应用程序,然后将其安装到设备上(iTunes或iPhone配置)效用).
基本上你可以用Javascript + Titanium进行原生的一切.如果Titanium不支持iOS框架的某些部分,您可以构建本机Objective-C模块并在Javascript代码中使用这些功能.
我觉得现在使用Titanium Appcelerator并使用Javascript构建应用程序非常舒服.我还为iOS构建了一些模块时学到了一些Objective-C.例如.我在我的第一个iOS应用程序Spellery中使用的DeviceMotion.
现在的问题是:
大多数公司只想要本地开发人员并且对Titanium持怀疑态度.Titanium与其他跨平台SDK(例如PhoneGap)不同,因为在这里您实际使用本机组件(按钮,标签等),并且您的应用程序未在WebView中运行.但如果公司想要原生,那么你就不能强迫他们使用Titanium.
既然我想开发移动应用程序作为一项工作,我是否应该抛弃我最近六个月的Titanium深入探索并学习本地编程这些应用程序?
您对此有何看法,因为我认为学习/完善这两者并不重要?
我现在是Appcelerator Titanium的忠实粉丝所以这是一个非常重的决定.
我习惯于在MVC框架中开发,比如蛋糕和骨干,但我无法理解在Alloy中开发.网上似乎没有任何好的例子.如果有人可以举例说明如何设置一些响应点击事件并带您进入新窗口的按钮,我将非常感激.我也使用Ti的地图api来显示谷歌地图,但我不知道如何正确初始化它.谢谢!
我正在使用Titanium Studio 3.2.0和Titanium SDK 3.2.0.GA,并使用或不使用Facebook应用程序部署到Android设备.要登录Facebook我正在使用Titanium提供的那个.
我遇到了此链接中描述的相同问题.当我第一次授权时,来自Facebook的登录事件完全没有问题.但是,如果我退出然后再次尝试授权(此时我的应用程序的权限已被接受,所以理论上它应该触发登录事件)我在logcat上收到以下错误:
E/FacebookModule( 1584): (main) [11631,11631] LoginDialogListener onFacebookError: Invalid access token.
E/FacebookModule( 1584): com.facebook.android.FacebookError: Invalid access token.
E/FacebookModule( 1584): at com.facebook.android.Facebook.onSessionCallback(Facebook.java:433)
E/FacebookModule( 1584): at com.facebook.android.Facebook.access$000(Facebook.java:97)
E/FacebookModule( 1584): at com.facebook.android.Facebook$2.call(Facebook.java:379)
E/FacebookModule( 1584): at com.facebook.Session$3$1.run(Session.java:1239)
E/FacebookModule( 1584): at android.os.Handler.handleCallback(Handler.java:605)
E/FacebookModule( 1584): at android.os.Handler.dispatchMessage(Handler.java:92)
E/FacebookModule( 1584): at android.os.Looper.loop(Looper.java:154)
E/FacebookModule( 1584): at android.app.ActivityThread.main(ActivityThread.java:4624)
E/FacebookModule( 1584): at java.lang.reflect.Method.invokeNative(Native Method)
E/FacebookModule( 1584): at java.lang.reflect.Method.invoke(Method.java:511)
E/FacebookModule( 1584): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
E/FacebookModule( 1584): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
E/FacebookModule( 1584): at dalvik.system.NativeStart.main(Native Method)
E/FacebookModule( …
Run Code Online (Sandbox Code Playgroud) 我正在使用Titanium构建我的第一个Android应用程序.我在第一个窗口上加载了RSS feed,然后在单击rss列表中的链接后,我创建了一个新窗口并在该页面上显示rss项目的完整内容.
我想要实现的是当我在第二个窗口(rss feed的完整内容)并按下手机上的Back按钮时,我想返回第一个窗口(rss列表).目前我的应用程序从我的应用程序的任何位置按下后退按钮时退出.
在第一个窗口,我已经指定,exitOnClose: true
并在我指定的第二个窗口exitOnClose: false
.不确定这是否是我需要做的.
任何帮助都非常感谢并提前感谢.
Maikel
我正在使用Appcelerator Titanium Mobile编写iPhone应用程序.我隐藏并根据焦点窗口显示选项卡组.
dashWin.addEventListener("focus",function(e) {
if (dashWin.tabGroupVisible == true) {
dashWin.tabGroupVisible=false;
tabGroup.animate({bottom:-50,duration:500});
}
});
Run Code Online (Sandbox Code Playgroud)
当dashWin收到焦点事件时,上面的代码会隐藏选项卡组.但是,当在iPhone模拟器中运行时事件触发时,我在Titanium控制台中看到此消息:
在意外状态下完成导航过渡.导航栏子视图树可能已损坏.
谷歌搜索结果出现了一个结果:另一个StackOverflow问题,可能会暗示发生了什么.
iphone titanium appcelerator appcelerator-mobile ios-simulator
我的应用内商品全部设置为通过ti.storekit在iTunes Connect中购买:
我的Appcelerator 4.0应用程序编译并部署到我的设备(开发配置文件).ti.storekit链接到我的应用程序并进行编译.在没有未处理的异常方面,它似乎也正确执行.但它告诉我它无法找到我的应用内购买产品.我已经尝试将"15键"和"15Keys"交给ti.storekit.我不确定它想要哪一个(参考名称或产品ID) - 但无论如何都不起作用.
这是ti.storekit中的函数,它产生错误消息:
function requestProduct(identifier, success)
{
Storekit.requestProducts([identifier], function (evt) {
if (!evt.success) {
alert('ERROR: We failed to talk to Apple!');
}
else if (evt.invalid) {
alert('ERROR: Invalid product: ' + identifier);
}
else {
success(evt.products[0]);
}
});
}
Run Code Online (Sandbox Code Playgroud)
正在执行"else if"行:alert('ERROR: Invalid product: ' + identifier);
我做错了什么?我应该提供参考名称(15键)或产品ID(15Keys)吗?既然我已经尝试了两者而且都不起作用,我该如何解决这个问题呢?我究竟做错了什么?
编辑:
我不清楚3件事:
1-我应该在我的ipad上进入设置并使用我的TEST USER苹果沙箱帐户登录itunes/store吗?我无法这样做,因为它一直要求我输入信用卡.我过去使用的测试信用卡(在其他非iOS系统上),如4111111111111111不起作用,我无法继续并登录.甚至不确定我是否应该这样做.如果是这样,我可以使用哪些CC凭据?我应该使用REAL CC吗?基于我在其他文章和帖子中阅读的所有内容,它表示永远不会将测试帐户链接到CC编号...那么为什么苹果不允许我登录我的测试用户到我的苹果设备(在设置内)进入信用卡?
2-我没有按照https://github.com/appcelerator-modules/ti.storekit/blob/master/ios/example/app.js中的步骤进行操作,因为在我的应用程序中没有任何内容可供下载,没有任何内容在我的应用程序中,用户可以购买密钥,这些密钥只是我应用程序中的数字实体 - 无需下载.所以我删除了与下载/托管有关的所有代码/步骤.
3-我的应用程序版本1.0.0正在等待应用程序商店中的审核.此版本没有ti.storekit,也没有应用内购买.没有.但是我正在开发一个更新的版本,包含我最新的appcelerator 4.0项目中的所有storekit和应用内购买内容.这不应该在我的开发环境中,在我连接的ipad上,在开发构建中工作吗?我有1.0.0等待审查的事实,没有storekit的东西,应该与我在我的开发帐户中使用storekit的新版本无关,对吧?我也对这条消息感到困惑:
在我的DEV商店包装工作之前,我是否需要向Apple提交新版本?如果是这样,这似乎很奇怪,好像app-store候选版本与我在本地环境中开发的东西相关联.这条消息表明为什么我的dev storekit东西不起作用?我的应用内购买产品似乎已正确配置,但我不应该在dev/sandbox中与此连接,无论应用程序商店中等待审核的1.0应用程序(没有商店套件)?
谢谢大家的帮助......我必须错过一些我没有看到的关键步骤.
我不是在说任何花哨的东西.我只想在用户旋转设备时旋转标准窗口和视图.
嗨,我正在开发Android应用程序开发.我正在使用Titanium studio进行开发.我创建了一个简单的应用程序.我想在我的应用程序中捕获设备后退按钮事件,因为我不想在钛中使用android默认选项卡.我正在创建自己的选项卡.我尝试了以下代码:
:list.js
var expt = Titanium.UI.currentWindow;
expt.addEventListener('android:back', function (e)
{
Ti.App.fireEvent('expt_back_event');
});
Run Code Online (Sandbox Code Playgroud)
:app.js
Ti.App.addEventListener('expt_back_event',function(e)
{
alert('hiiii in side event listener');
});
Run Code Online (Sandbox Code Playgroud)
但它没有工作而不是弹出它关闭了我不想要的应用程序.有没有办法获得这个结果.
android back-button-control appcelerator-mobile titanium-mobile
似乎在运行时,appcelerator中的所有未捕获的错误都被钛IDE吞没,并且从未出现在控制台日志中.你怎么能摆脱这种行为并确保错误出现在那里?
appcelerator ×6
titanium ×6
android ×2
facebook ×1
ios ×1
iphone ×1
javascript ×1
native ×1
xml ×1