标签: appcelerator

Titanium appcelerator是否值得在ipad,iphone和android上开发基于相机的应用程序?

我想构建一个移动/平板电脑应用程序,其核心功能是用相机拍照,查看图片和接收通知.此外,我想针对iPhone,iPad和Android平台.

Titanium appcelerator因其跨平台的吸引力而引起了我的兴趣.但是我很担心因为我在SO和其他网站上阅读了不同的评论.让我担心的是:

  • Subpar android支持
  • 相机支持功能不完全(例如ios 4.1 HDR功能)
  • 相机支持越野车

对我来说,噩梦般的场景是投入钛金属时间,以便稍后发现它是一个主要的PITA并放弃它并且"本土化"

请分享您的想法和经验.

iphone mobile android titanium appcelerator

6
推荐指数
3
解决办法
1万
查看次数

使用原型时的Javascript继承问题 - 实例被覆盖:(

我是JavaScript编程的新手,我对继承有点噩梦.我正在为Appcelerator Titanium编写一些代码,我有一个名为Slide2D的基类,我希望继承它.

所以我在Slide2D的原型中放了一些函数.这些通常不会被覆盖,但会从Slide2D派生的类中调用.这些函数也将从程序的其他部分调用.还有各种用于在Titanium中管理动画的事件处理程序.

如果我在一些调用代码中制作了几个幻灯片(使用新的)

var s = new Slide2D('slide1', 'background1.png', etc......
var t = new Slide2D('slide2', 'background2.png', etc......
Run Code Online (Sandbox Code Playgroud)

我的所有原型方法都指向最后创建的Slide2D,无论我是使用s还是t.因此即使我使用的是s变量,也会始终显示'slide2'.

这让我很生气 - 任何帮助都会非常感激.

对不起代码的长度,但这里是:

function Slide2D(name, backgroundImage, transform, inAnimation, outAnimation)
{
Titanium.API.info('Slide2D - Constructor - ' + name);

var _self = this;

var _name = name;

var _backgroundImage = backgroundImage;

var _startingTransform = transform;

var _slideView = Titanium.UI.createView({
    backgroundImage: _backgroundImage,
    transform: transform
});

    var _animateInAnimation = Titanium.UI.createAnimation();
_animateInAnimation.transform = Titanium.UI.create2DMatrix().translate(0,0);
_animateInAnimation.duration = 750;

var _animateOutAnimation = Titanium.UI.createAnimation();
_animateOutAnimation.transform = Titanium.UI.create2DMatrix().translate(-1024,0);
_animateOutAnimation.duration …
Run Code Online (Sandbox Code Playgroud)

javascript prototype class appcelerator prototypal-inheritance

6
推荐指数
1
解决办法
1452
查看次数

iOS中的Appcelerator云推送通知

我使用本教程iOS推送通知教程在iOS中实现云推送通知.我按照上面的文档做了一切.注册时不会发生错误.

在云控制台中,我可以看到1个iOS客户端客户端订阅了推送通知.一切似乎都很好,但我无法接收推送通知.(甚至我已经重新启动了我的iPhone)

我已经从云控制台发送了推送通知,但我无法在iPhone中收到推送通知.任何人都可以帮我解决这个问题吗?

提前致谢

cloud iphone titanium appcelerator push-notification

6
推荐指数
1
解决办法
2288
查看次数

跨设备的IOS唯一用户标识符

感谢您花时间和兴趣阅读本文并希望帮助我.

我需要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.

再次感谢你回答这么快,我想也许我要等几天,而不是几分钟.请原谅我的无知,我在这件事上有点像菜鸟,但我想学习.几天来一直困在这个问题上

uuid unique identifier appcelerator ios

6
推荐指数
1
解决办法
4652
查看次数

钛合金:从不同的控制器访问UI?

我似乎无法更新Titanium Appcelerator Alloy中的对象,

我基本上希望能够将一个表行添加到一个表中,该表位于我当前所处的不同控制器/视图中......希望下面将更好地描述这个:s

basket.xml

<Alloy>
    <Window id="basketWindow" class="container">
        <TableView id="basketTable" />
        <Button id="addItemButton" onClick="addItem">Add Item</Button>
    </Window>
</Alloy>
Run Code Online (Sandbox Code Playgroud)

basket.js

function addItem()
{
    var itemList = Alloy.createController('item_list');

    itemList.getView().open();
}
Run Code Online (Sandbox Code Playgroud)

item_list.xml

<Alloy>
    <Window id="itemListWindow" class="container">
        <TableView id="itemListTable">
            <TableViewRow id="item1" className="item" onClick="addItemToBasket">
                Test Item
            </TableViewRow>
        </TableView>
    </Window>
</Alloy>
Run Code Online (Sandbox Code Playgroud)

item_list.js

function addItemToBasket()
{
    var row = Ti.UI.createTableViewRow({title: 'Test Item'});

    // Here i would ideally want to put something like $.basketTable.append(row);
    // But nothing happens, im guessing it cant find $.basketTable as its in a …
Run Code Online (Sandbox Code Playgroud)

titanium appcelerator

6
推荐指数
1
解决办法
5941
查看次数

将byteArray保存为Titanium中的pdf文件

我有一个SOAP API,它返回一个文件,该文件分为几个base64字符串编码的块

我无法将其保存到文件系统而不会破坏它

这是整个文件的pastebin编码,一旦我下载并链接响应.

正确保存的方法是什么?

我试过很多方面

var f = Ti.FileSystem.getFile(Ti.FileSystem.tempDirectory, 'test.pdf');
Run Code Online (Sandbox Code Playgroud)

...

    var blobStream = Ti.Stream.createStream({ source: fileString, mode: Ti.Stream.MODE_READ });
    var newBuffer = Ti.createBuffer({ length: fileString.length });

    f.write(fileString);
Run Code Online (Sandbox Code Playgroud)

要么

    var data = Ti.Utils.base64decode(fileString);

    var blobStream = Ti.Stream.createStream({ source: data, mode: Ti.Stream.MODE_READ });
    var newBuffer = Ti.createBuffer({ length: data.length });
    var bytes = blobStream.read(newBuffer);

    f.write(fileString);
Run Code Online (Sandbox Code Playgroud)

要么

    var data = Ti.Utils.base64decode(fileString);

    var blobStream = Ti.Stream.createStream({ source: data, mode: Ti.Stream.MODE_READ });
    var newBuffer = Ti.createBuffer({ length: data.length });
    var …
Run Code Online (Sandbox Code Playgroud)

javascript buffer filestream titanium appcelerator

6
推荐指数
1
解决办法
1266
查看次数

Appcelerator Titanium:代码签名错误:未找到代码签名标识

这让我发疯,我花了大约10个小时现在删除并重新生成我的Appcelerator Titanium iPad应用程序的Apple密钥和配置文件.我在1年前全部工作和编译,然后我的Mac崩溃了,我不得不重新格式化并重新开始.

我无法理解这个错误:"代码签名错误:找不到与您的构建设置('Okland Construction 2014')中指定的配置文件匹配的代码签名标识(即证书和私钥对)."

在Apple开发人员中心,我创建了必要的分发配置文件,并将其安装在我的钥匙串中,但我总是收到此错误.

我只是不知道遗失或错误的是什么.

我已阅读此内容并按照说明操作,但无济于事:

iOS 7.0未找到代码签名标识

我希望有人能在我失去理智之前提供帮助.10个小时,100次尝试,重启,删除,再生.

titanium appcelerator appcelerator-mobile titanium-mobile

6
推荐指数
1
解决办法
6440
查看次数

在安装Appcelerator Studio时连接到下载服务器时出错

在此输入图像描述

这是在此处发布的相同错误: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

谢谢

在此输入图像描述

ubuntu titanium appcelerator

6
推荐指数
1
解决办法
1056
查看次数

Appcelerator Studio - 当我在视频播放器中加载URL时,Android应用程序在Marshmallow上崩溃

我从远程服务器下载视频并将其保存在应用程序数据目录中.完成后,我将其URL传递给视频播放器(我窗口上的UI元素).然后我的应用程序崩溃了.

这只发生在Marshmallow(Android 6.0版)上.我已经在Lollypop(4-5设备)上进行了测试,但它在那里工作得很好.

我尝试了不同的解决方案,但仍无法解决此问题.它真的杀了我.如果您有任何想法,请帮忙.我会很感激.

这是我的日志(来自评论):

[错误]:TiVideoView8:java.io.IOException:setDataSource失败.[ERROR]:TiVideoView8:在android.media.MediaPlayer.setDataSource(MediaPlayer.java:1095)[出错]:TiVideoView8:在android.media.MediaPlayer.setDataSource(MediaPlayer.java:1041)[出错]:TiVideoView8:在机器人.media.MediaPlayer.setDataSource(MediaPlayer.java:987)[ERROR]:TiVideoView8:在android.media.MediaPlayer.setDataSource(MediaPlayer.java:968)

android appcelerator video-player android-6.0-marshmallow appcelerator-titanium

6
推荐指数
1
解决办法
392
查看次数

如何构建需要CocoaPods pod的Appcelerator Titanium iOS模块

我想建立一个需要的CocoaPods吊舱(原生的iOS模块https://cocoapods.org/pods/NearbyMessages).

我使用Titanium命令行界面创建了一个新模块:

ti create --type=module --platforms=ios ...
Run Code Online (Sandbox Code Playgroud)

我跟着从的CocoaPods(指令https://guides.cocoapods.org/using/using-cocoapods.html)创建Podfile:

platform :ios, '9.0'

target 'MyModule' do
  pod 'NearbyMessages'
end
Run Code Online (Sandbox Code Playgroud)

我将Podfile放入iOS模块目录的"iphone"目录中:

MyModule
 - LICENCE
 - README
 - assets
 - documentation
 - example
 - iphone
   - Podfile
   - ...
   - timodule.xml
   - titanium.xcconfig   
Run Code Online (Sandbox Code Playgroud)

我使用以下命令安装了pod:

pod install
Run Code Online (Sandbox Code Playgroud)

我用新创建的*.xcworkspace文件打开了XCode,并将以下行添加到titanium.xcconfig文件的末尾:

#include "Pods/Target Support Files/Pods-MyModule/Pods-MyModule.debug.xcconfig"
Run Code Online (Sandbox Code Playgroud)

但不幸的是,这会导致一些错误,例如:

  • "我的模块的头文件中找不到''Ti.Module.h'文件"
  • 在我的模块的实现文件中有几个"不能使用'super',因为它是一个根类"

我尝试了包含Pods配置文件的不同变体,但没有一个成功.

任何人都可以告诉我一个正确的XCode设置应该如何在本机iOS模块中使用NearbyMessages pod?

在此先感谢您的问候!

xcode titanium appcelerator ios

6
推荐指数
1
解决办法
1038
查看次数