我正在使用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
我正在开发SDK 1.6.2.
我的应用程序使用相机捕获并将图像保存到Titanium.Filesystem.applicationDataDirectory.
应用程序的轻击应该显示在屏幕上平铺的所有存储的图像(存储在数据库中的详细信息[路径]).
保存图片:
var image = event.media // from camera success
var filename = new Date().getTime() + "-ea.jpg";
bgImage = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory, filename);
bgImage.write(image);
Run Code Online (Sandbox Code Playgroud)
存储到数据库:
var db = Titanium.Database.open('photoDB');
try{
db.execute('INSERT INTO stored (image) VALUES (?)', bgImage.nativePath);
} catch(e) {
alert(e.message);
}
db.close();
Run Code Online (Sandbox Code Playgroud)
显示图片:
imageArray = [];
images = [];
var db = Titanium.Database.open('photoDB');
var dbrows = db.execute('select id, date, image from stored order by date asc');
while (dbrows.isValidRow()) {
imageArray.push({
image:dbrows.fieldByName('image')
});
dbrows.next();
}
dbrows.close();
// loop thru …Run Code Online (Sandbox Code Playgroud) 只是想弄清楚这个问题.使用此属性的字体缩放是否适用于Android?我知道,它适用于iOS,但它似乎并不想对Android有用.
我正在尝试制作一个标签,其中包含不同大小的字符串.以下是我正在使用的代码示例:
var name = Titanium.UI.createLabel({ text:response.name, color:'#000', minimumFontSize:10, font:{fontSize:24,fontFamily:'Helvetica Neue'}, width:120, height:45, top:0, left:0, right:2, wordWrap:false, textAlign:'left' });
Run Code Online (Sandbox Code Playgroud) 我正在使用Titanium appcelerator实现移动应用程序.
在这个应用程序中,我需要使用RabbitMQ实现聊天.我看到很多关于如何使用节点js连接到rabbitmq服务器的示例,但在我的情况下它不适用,我找不到任何javascript独立客户端.
我想知道是否有一种方法可以在没有客户端的情况下连接到RabbitMQ,或者是否有任何javascript独立客户端?
谢谢.
我的应用内商品全部设置为通过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应用程序(没有商店套件)?
谢谢大家的帮助......我必须错过一些我没有看到的关键步骤.
我正在使用带有SDK 5.4.0GA的Appcelerator Studio 4.7.
我想使用滑动后退手势返回到上一个视图控制器,但是ScrollableView即使我在屏幕的左边缘开始我的手势,我的触摸也会移动视图.如果没有结束,滑动后退手势可以正常工作ScrollableView.
当我使用Titanium Studio 3.4时,一切都很好.目前无法使用它,因为它不受支持,您甚至无法登录.
这个问题是因为Appcelerator Studio,而不是因为SDK版本.我尝试使用具有相同SDK版本的Titanium Studio和Appcelerator Studio,并且只有Appcelerator Studio出现此问题.这就是我一年前坚持使用Titanium Studio的原因,但现在却不可能.
以下是没有解决方案的相关主题:https://archive.appcelerator.com/topic/581/swipe-right-from-the-edge-to-go-back-to-the-previous-window-doesn-t-工作了合IOS-使用-SDK-3-5-1-GA-和-4-0-0-GA/4
编辑.如何在2分钟内重现它:
1)文件 - >新建 - >移动应用项目 - >默认合金项目
2)添加名为scrollable的新控制器
scrollable.xml:
<Alloy>
<Window class="container">
<ScrollableView>
<ScrollView>
<View height="5000" backgroundColor="#DBD6D6">
<Label top="20">View1</Label>
</View>
</ScrollView>
<ScrollView>
<View height="5000" backgroundColor="#FED2FB">
<Label top="20">View2</Label>
</View>
</ScrollView>
<ScrollView>
<View height="5000" backgroundColor="#DCEFD7">
<Label top="20">View3</Label>
</View>
</ScrollView>
</ScrollableView>
</Window>
</Alloy>
Run Code Online (Sandbox Code Playgroud)
index.js:
function doClick(e) {
var scrollableController = Alloy.createController('scrollable',{
});
var view = scrollableController.getView();
$.index.openWindow(view);
}
$.index.open();
Run Code Online (Sandbox Code Playgroud)
INDEX.XML: …
titanium appcelerator ios appcelerator-titanium appcelerator-alloy
我收到苹果公司的app拒绝邮件,下面是
我们在连接到IPv6网络的Wi-Fi上运行iOS 10.0.2的iPad和iPhone上查看了应用中的一个或多个错误.具体来说,应用程序在启动时仍保留在启动屏
根据他们的要求,我在我的Mac上创建了NAT64网络,并为iPhone 5S设备10.0.2 os版本共享了互联网,App工作正常,
但苹果表示不与IPv6合作任何人都可以确认我是否需要检查其他内容?
环境: Appcelerator Studio Ti SDK 5.1.0 GA XCode版本6.3
提前致谢
我想构建一个移动/平板电脑应用程序,其核心功能是用相机拍照,查看图片和接收通知.此外,我想针对iPhone,iPad和Android平台.
Titanium appcelerator因其跨平台的吸引力而引起了我的兴趣.但是我很担心因为我在SO和其他网站上阅读了不同的评论.让我担心的是:
对我来说,噩梦般的场景是投入钛金属时间,以便稍后发现它是一个主要的PITA并放弃它并且"本土化"
请分享您的想法和经验.
感谢您花时间和兴趣阅读本文并希望帮助我.
我需要IOS的唯一用户标识符,我对唯一用户标识符的含义是Apple提供的唯一字符串,对于用户而非设备是唯一的,这意味着它将跨设备保持不变.我想到了Apple ID或类似的东西,但这是不可能的,因为Apple没有提供它(至少不是我所知道的),但我想要类似的东西.
它不能是UDID,因为(除了被弃用之外)它不是跨设备持久的.我希望这样做是为了验证用户,而无需用户登录或注册.有可能这样做,因为有些应用程序会这样做.我没有登录或使用其他设备进行任何操作,但它验证了我.我以为是苹果ID,但是不可能.
我检查了这个答案:iOS唯一用户标识符.它似乎可能是解决方案,但我不太明白它,因为我没有看到每个新用户如何独特(能够区分多个用户和同一个用户,但是不同的设备).
我非常感谢读这篇文章并试图提供帮助的人.谢谢
PD:我使用Titanium的Appcelerator,而不是Apple的IOS SDK或类似的东西.但这并不重要,我只想让这个过程能够与Titanium的Appcelerator一起完成
PS:注意:
谢谢你的回答,速度如此之快!我已经阅读了很多次,我只是不明白.你能帮我理解一下吗?
我理解的方式就是这个.
1.-创建一个UUID(随每个安装而改变)2. - 使用默认服务将其存储到钥匙串(据我所知,保存在钥匙串上的值是设备的本地值)(我认为我把它放在一起)应用程序的id-com.bla.bla-),以及默认帐户,我认为我将它留作"用户".
这将全部是本地的,因此每次安装都会执行此操作,每次安装都使用不同的UUID(每个用户都不需要).3.将UUID保存到NSUserDefaults.4.-将UUID保存到Cloud的公共数据存储中.(Cloud的数据存储中的UUID,Keychain和NSUserDefaults应该是相同的)
因此,如果运行5个安装,Cloud的公共数据存储应该是这样的
An Array of 5 values:
[
XXXX-EEEEE-FFFFF,
SFSDFFWE-WERW-SDFS,
XXXX-XXXXX-XXXXX,
ZZZZZ-ZZZZ-ZZZZX,
XZXZZX-ZXZXZXS-ADADS
]
Run Code Online (Sandbox Code Playgroud)
5.-每次运行应用程序时都会执行所有这些操作,首先检查公共云存储中是否存储了值.这是我困惑的地方,不同的设备将如何知道哪个UUID是你的?我的意思是,有5种不同的UUIDS可供选择.也许它不应该保存在公共数据存储上,而是保存在私有数据存储上,但为此你还需要识别每个用户.这是我感到困惑的地方.
如果没有设置UUID,请执行最后4个步骤.
所以,我在第五步感到困惑,大多数人都理解这个解决方案,没有任何解释,所以我必须对某些工作的方式无知,也许是云服务?我认为问题在于,我可能不了解iCloud是如何工作的,以及它如何存储它的价值.我只是不知道运行应用程序的X的第5个(随机数,可能是第2个或第2000个)设备,将知道UUID XXX ...是用户X的UUID,而不是用户的UUID Z.
再次感谢你回答这么快,我想也许我要等几天,而不是几分钟.请原谅我的无知,我在这件事上有点像菜鸟,但我想学习.几天来一直困在这个问题上
这是在此处发布的相同错误:https://community.appcelerator.com/topic/3021/installing-on-ubuntu-14-04
我安装了:
oracle-jdk6
nodejs and nodejs-legacy
运用
appcelerator x64
在Ubuntu 14.04上(附件中的规格)
还跑了:
sudo apt-get install libjpeg62 libwebkitgtk-1.0-0
echo 'export MOZILLA_FIVE_HOME=/usr/lib/mozilla' >> ~/.bashrc
并试过:
sudo apt-get install ia32-libs 但这不起作用,而是我使用了这个:
sudo -i
cd /etc/apt/sources.list.d
echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
apt-get update
apt-get install ia32-libs
我在这里找到:如何在Ubuntu 14.04 LTS(Trusty Tahr)中安装ia32-libs
谢谢
appcelerator ×10
titanium ×7
ios ×3
iphone ×3
android ×2
javascript ×2
mobile ×2
fonts ×1
identifier ×1
imageview ×1
ipv6 ×1
placeholder ×1
rabbitmq ×1
ubuntu ×1
unique ×1
uuid ×1